graphql-java使用记录

cppprimer

maven中添加依赖

<dependency>
    <groupId>com.graphql-java-kickstart</groupId>
    <artifactId>graphql-spring-boot-starter</artifactId>
    <version>5.5.0</version>
</dependency>
<!-- to embed GraphiQL tool -->
<dependency>
    <groupId>com.graphql-java-kickstart</groupId>
    <artifactId>graphiql-spring-boot-starter</artifactId>
    <version>5.5.0</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.graphql-java-kickstart</groupId>
    <artifactId>graphql-java-tools</artifactId>
    <version>5.5.0</version>
</dependency>

在resource下面添加schema.graphqls

type Query {
    post(id: ID): Post
}

type Post {
    id: ID
    name: String
}

添加 application.yml

graphql:
  servlet:
    mapping: /graphql
    enabled: true
    corsEnabled: false //如果spring boot已经配置了cors,则设置关闭
    # if you want to @ExceptionHandler annotation for custom GraphQLErrors
    exception-handlers-enabled: true
    contextSetting: PER_REQUEST_WITH_INSTRUMENTATION

创建bean

@Getter
@Setter
public class Post {
    private Long id;
    private String name;

    Post(Long id){ this.id = id; }
}

创建resolver

@Component
class Query implements GraphQLQueryResolver {

    Post getPost(Long id) {
        return new Post(id);
    }

}

打开
http://localhost:8000/graphiql

{
  post(id: 1){
    id
  }
}
阅读 1.4k

扯淡
扯淡
180 声望
2 粉丝
0 条评论
你知道吗?

180 声望
2 粉丝
宣传栏