Graphql Apollo Android上发送空参数的变异
我正在尝试将Apollo Android与本地安装的服务器集成,显示所有条目的查询工作正常,但是当我尝试创建一个新条目时,它会发送一个没有参数的查询 起初我认为这是一个服务器端问题,但似乎不是这样,因为它正在创建条目,但具有空值 服务器在Spring Boot上使用SPQR生成模式,SpringData JPA使用Hibernate连接到PostGreSQL数据库 这是服务器所说的:Graphql Apollo Android上发送空参数的变异,graphql,apollo-android,Graphql,Apollo Android,我正在尝试将Apollo Android与本地安装的服务器集成,显示所有条目的查询工作正常,但是当我尝试创建一个新条目时,它会发送一个没有参数的查询 起初我认为这是一个服务器端问题,但似乎不是这样,因为它正在创建条目,但具有空值 服务器在Spring Boot上使用SPQR生成模式,SpringData JPA使用Hibernate连接到PostGreSQL数据库 这是服务器所说的: Hibernate:插入作者(名字、姓氏)值(?,) 2018-06-25 14:48:25.479信息6670
Hibernate:插入作者(名字、姓氏)值(?,)
2018-06-25 14:48:25.479信息6670---[nio-8080-exec-3]s.testing.controllers.GraphQLController:{data={createAuthor={{uuu typename=Author,firstName=null,lastName=null}
这是我在Android Studio上得到的回应:
06-25 14:48:24.974 16068-16132/com.example.nburk.apollodemo D/graphcool:Executed mutation:CreateAuthor{{uuuu typename=Author,firstName=null,lastName=null}
在Android Studio中,这是构建器:
private void createPost(String firstname,String lastname){
application.client().mutate(
CreateAuthorMutation.builder()
.firstName(firstName)
.lastName(lastName)
.build())
.enqueue(创建一个回调);
}
将此列为:
private ApolloCall.Callback createPostMutationCallback=new ApolloCall.Callback(){
@凌驾
public void onResponse(@Nonnull final Response dataResponse){
Log.d(ApolloDemoApplication.TAG,“执行的变异:”+dataResponse.data().createAuthor().toString());
fetchPosts();
}
@凌驾
public void onFailure(@Nonnull-e){
Log.d(ApolloDemoApplication.TAG,“错误:+e.toString());
}
};代码>
如果你需要它,这是我的变种:
CreateAuthor($firstName:String,$lastName:String){
createAuthor(名字:$firstName,名字:$lastName){
名字
姓氏
}
}
本项目基于以下内容:
也上传我的模式
事先感谢您的帮助。问题来自SPQR,您需要为变量添加映射器
@PostMapping(value=“/graphql”,consumes=MediaType.APPLICATION\u JSON\u UTF8\u value,products=MediaType.APPLICATION\u JSON\u UTF8\u value)
@应答器
public Map indexFromAnnotated(@RequestBody-Map-request,HttpServletRequest-raw){
ExecutionResult ExecutionResult=graphQL.execute(ExecutionInput.newExecutionInput()
.query((字符串)request.get(“查询”))
.operationName((字符串)请求.get(“operationName”))
//-----这将解析变量--------
.variables((Map)request.get(“变量”))
.上下文(原始)
.build());
LOGGER.info(executionResult.toSpecification().toString());
返回executionResult.toSpecification();
}