赞
踩
Postman请求方式
Post请求 JSON格式 传递
{
"query":"{selectUserById(id:1){id name ecount lout}}"
}
根据id进行查询
组合查询
Post请求: http://localhost:9009/graphql
Body raw JSON格式
新增方法
Post请求: http://localhost:9009/graphql
Body raw JSON格式
{
"query":"mutation($user: UserInput!){insert(user:$user){respCode msg}}",
"variables":{
"user":{
"name":"2132132131",
"ecount":"12321421321",
"lout":"213214213213"
}
}
}
修改方法
Post请求: http://localhost:9009/graphql
Body raw JSON格式
{
"query":"mutation($user: UserInput!){update(user:$user){respCode msg}}",
"variables":{
"user":{
"id":12,
"name":"王六",
"ecount":"王六",
"lout":"王六"
}
}
}
删除方法
Post请求: http://localhost:9009/graphql
Body raw JSON格式
{
"query":"mutation($id: Int!){delete(id:$id){respCode msg}}",
"variables":{
"id":9
}
}
第二种Controller Rest 方法 调用GraphQL方法
创建一个config文件 在config文件中创建一个GraphQLProvider配置文件如下图所示:
重点是如下的配置项:
根据graphql中定义的方法来执行java代码
MyDataFecher是一个接口.要进行查询继承这个接口实现里面的方法比如:
Root.graphqls下有一个selectUserById方法。创建一个类UserGetById的类如下:
FiledName对应的返回的selectUserById对应.graphqls里面的方法名。DataFetcher方法执行里面的业务并返回出来的对象值。一个类对应.graphqls里面的一个方法。
- private RuntimeWiring buildWiring() {
- RuntimeWiring wiring = RuntimeWiring.newRuntimeWiring()
- .type("Query", builder -> {
- //遍历myDataFetcher的所有实现类
- for (MyDataFetcher myDataFetcher : myDataFetchers) {
- //获取查询的名称 然后找到其对应的类型
- builder.dataFetcher(myDataFetcher.fieldName(),
- //调用不同的myDataFetcher实现类的dataFetcher方法 返回查询到的数据
- environment -> myDataFetcher.dataFetcher(environment));
- }
- return builder;
- }
-
- )
- .build();
- // RuntimeWiring wiring = RuntimeWiring.newRuntimeWiring()
- // .type("Query", builder ->
- // builder.dataFetcher("selectUserById", environment -> {
- // User user = userService.selectUserById(environment.getArgument("id"));
- // return user;
- // })
- // )
- // .build();
- return wiring;
- }
Controller层调用
ExecutionInput executionInput = ExecutionInput.newExecutionInput();//构造器
executionInput.query(request.getQuery()); //接收传递过来的查询语句
result.setData(graphQL.execute(executionInput).toSpecification());返回业务中处理过来的数据并接收。
重点:一个接口可解决所有的查询业务场景,根据前端以及PostMan调用controller接口向属性值传递值进行查询比如:组合查询
根据ID进行查询
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。