graphql-spring-boot,结合GraphQL的Spring Boot Starters类库概述

graphql-spring-boot是一个基于GraphQL Java和graphql-java-servlet的Spring Boot Starters,用于构建GraphQL服务器。它包含两个独立的子项目,分别用于GraphQL和GraphiQL。通过添加依赖,定义GraphQLSchema并配置endpoint,可以轻松集成到Spring Boot应用中。启动应用后,通过HTTP POST请求指定URI,即可交互测试GraphQL API。
摘要由CSDN通过智能技术生成

GraphQL服务器能够提供的API查询请求,往往是通过HTTP实现的。而Spring Boot能够方便地构建一个Web服务,于是自然就引入了Spring Boot使能的GraphQL服务器。

graphql-spring-boot是一个Spring Boot应用的辅助类库,基于GraphQL Java实现的graphql-java和graphql-java-servlet,能够以Spring Boot应用的方式构建一个GraphQL服务器。

graphql-spring-boot类库的全名为GraphQL and GraphiQL Spring Framework Boot Starters。GraphiQL是与GraphQL功能类似的一个测试服务器,这里不详述。

graphql-spring-boot类库的最新版本是2018.1.12发布的4.0.0。其使用要求:

  • Java 1.8
  • Spring Boot 2.x.x
1. 组成

graphql-spring-boot类库包含两个彼此独立的子项目:

  • com.graphql-java.graphql-spring-boot-starter
  • com.graphql-java.graphiql-spring-boot-starter

2. 在Spring Boot的Maven项目中的配置

pom.xml文件中添加如下依赖:

<dependency>
    <groupId>com.graphql-java</groupId>
    <artifactId>graphql-spring-boot-starter</artifactId>
    <version>4.0.0</version>
</dependency>
camellia-id-gen-spring-boot-starters 的使用步骤如下: 1. 在 pom.xml 中添加依赖 ```xml <dependency> <groupId>com.netease.nim</groupId> <artifactId>camellia-id-gen-spring-boot-starter</artifactId> <version>1.0.0</version> </dependency> ``` 或者 ```xml <dependency> <groupId>com.netease.nim</groupId> <artifactId>camellia-id-gen-spring-boot-starter-jdbc</artifactId> <version>1.0.0</version> </dependency> ``` 如果需要使用基于内存的 ID 生成器,可以使用 camellia-id-gen-spring-boot-starter;如果需要使用基于数据库的 ID 生成器,可以使用 camellia-id-gen-spring-boot-starter-jdbc。 2. 配置 在 application.properties 或 application.yml 中配置 camellia.idgen,例如: ```properties # 基于内存的 ID 生成器配置 camellia.idgen.data-center-id=1 camellia.idgen.worker-id=1 camellia.idgen.sequence-bits=12 # 基于 Redis 的 ID 生成器配置 camellia.idgen.redis.host=127.0.0.1 camellia.idgen.redis.port=6379 camellia.idgen.redis.password=123456 camellia.idgen.redis.database=0 camellia.idgen.redis.key-prefix=idgen camellia.idgen.data-center-id=1 camellia.idgen.worker-id=1 camellia.idgen.sequence-bits=12 # 基于数据库的 ID 生成器配置 camellia.idgen.jdbc.url=jdbc:mysql://127.0.0.1:3306/test camellia.idgen.jdbc.username=root camellia.idgen.jdbc.password=123456 camellia.idgen.jdbc.table-name=idgen camellia.idgen.data-center-id=1 camellia.idgen.worker-id=1 camellia.idgen.sequence-bits=12 ``` 可以根据实际情况进行配置,具体参数的含义可以参考源码或官方文档。 3. 使用 在代码中注入 IdGenerator 对象,然后调用 nextId() 方法即可生成唯一 ID,例如: ```java @Service public class UserService { @Autowired private IdGenerator idGenerator; public User createUser(User user) { user.setId(idGenerator.nextId()); // ... return user; } } ``` 注意:如果使用的是基于数据库的 ID 生成器,需要先创建 idgen 表,该表的结构如下: ```sql CREATE TABLE `idgen` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `data_center_id` int(11) NOT NULL, `worker_id` int(11) NOT NULL, `sequence` bigint(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值