# graphql-spring-boot-simple **Repository Path**: wenqiuliu_xuexi/graphql-spring-boot-simple ## Basic Information - **Project Name**: graphql-spring-boot-simple - **Description**: 一个在spring-boot项目中使用graphql的简单示例。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-01-15 - **Last Updated**: 2025-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GraphQL Spring Boot Simple ## 简介 这个项目[graphql-spring-boot-simple](https://gitee.com/fantasyding/graphql-spring-boot-simple) 是在spring boot中使用`GraphQL`的一个简单示例。 如果你想了解关于`GraphQL`的更多信息,可以点击[这里](https://graphql.cn/learn/) 可能会对你有帮助。 ## 说明 ### 依赖 - JDK1.8+ - Maven - MongoDB ### 配置 项目中使用的数据库为`MongoDB`,运行前需要更改`application.yml`中的相关配置。 ```yaml # 请配置自己的数据库uri spring: data: mongodb: uri: ``` ### 运行 如果你在使用IDEA等开发工具,只需要导入项目,然后在`GqlSimpleApplication`中,右键RUN即可。 如果你不想导入IDE,那需要确保本机安装了`Maven`,在项目根目录下运行`mvn spring-boot:run`。 项目会在`9001`端口启动,请确保端口未被占用,或者修改`application.yml`中的相关配置 ```yaml # 请配置自己的端口 server: port: 9001 ``` ### 测试 `GraphQL`是基于http的,理论上任何支持http协议的工具都可以。 但是为了方便测试,这里使用`GraphiQL`来作测试。 `GraphQL`的入口统一为`http://{ip}:{port}/graphql`,使用`POST`提交。 - 创建数据 查询参数 ```graphql mutation CreatePerson($input: PersonInput!) { createPerson(input: $input) { id name age email createDate } } ``` 输入变量 ```json { "input": { "name": "Bob", "age": 36, "email": "1111123@456" } } ``` - 条件查询 ```graphql query{ getPersonByName(name: "Bob"){ id name age email createDate } } ``` - 分页查询 ```graphql query getAllPersons($personQuery:PersonQuery){ getAllPersons(personQuery:$personQuery) { items{ name age email createDate } pageNo pageSize total } } ``` 输入变量 ```json { "personQuery": { "pageNo": 1, "pageSize": 10 } } ```