Graphql Apollo Android上发送空参数的变异

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

我正在尝试将Apollo Android与本地安装的服务器集成,显示所有条目的查询工作正常,但是当我尝试创建一个新条目时,它会发送一个没有参数的查询

起初我认为这是一个服务器端问题,但似乎不是这样,因为它正在创建条目,但具有空值

服务器在Spring Boot上使用SPQR生成模式,SpringData JPA使用Hibernate连接到PostGreSQL数据库

这是服务器所说的:

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();
}