我正在尝试将Apollo-Android与本地安装的服务器集成,显示所有条目的查询工作正常,但是当我尝试创建新条目时,它会发送不带参数的查询 .
起初我认为这是一个服务器端问题,但它似乎不是这样,因为它创建了条目,但具有空值 .
它是在Spring Boot上使用SPQR生成模式的服务器,而SpringData-JPA是使用Hibernate连接到PostGreSQL数据库 .
这就是服务器所说的:
Hibernate:插入作者(first_name,last_name)值(?,?)2018-06-25 14:48:25.479 INFO 6670 --- [nio-8080-exec-3] s.testing.controllers.GraphQLController:{ data = {createAuthor = {__ typename = Author,firstName = null,lastName = null}}}
这是我在Android Studio上得到的回复:
06-25 14:48:24.974 16068-16132 / com.example.nburk.apollodemo D / graphcool:执行突变:CreateAuthor {__ typename = Author,firstName = null,lastName = null}
在Android Studio中,这是构建器:
private void createPost(String firstname,String lastname){application.apolloClient() . mutate(CreateAuthorMutation.builder() . firstName(firstname).lastName(lastname).build()) . enqueue(createPostMutationCallback); }
这招嘘了这个:
private ApolloCall.Callback <CreateAuthorMutation.Data> createPostMutationCallback = new ApolloCall.Callback <CreateAuthorMutation.Data>(){@ Overver public void onResponse(@Nonnull final Response <CreateAuthorMutation.Data> dataResponse){Log.d(ApolloDemoApplication.TAG, “执行突变:”dataResponse.data() . createAuthor() . toString()); fetchPosts(); } @Override public void onFailure(@Nonnull ApolloException e){Log.d(ApolloDemoApplication.TAG,“Error:”e.toString()); }};
如果你需要它,这是我的变异:
mutation CreateAuthor($ firstName:String,$ lastName:String){createAuthor(firstName:$ firstName,lastName:$ lastName)}
该项目基于此:https://github.com/graphcool-examples/android-graphql/tree/master/quickstart-with-apollo
上传我的架构也是如此 .
先谢谢你的帮助 .
1 回答
问题来自SPQR,您需要为变量添加映射器