我是GraphQL的新手,但我已经使用Retrofit有一段时间了,它易于使用且快速。GraphQL在传递数据的方式上与REST API有很大的不同。关于在Android上使用GraphQL的教程真的不多,我只能找到这个视频(https://www.youtube.com/watch?v=P0uJHI7GjIc&t=1s),但里面没有真正的代码。
在我目前的代码中,我有一个端点,我设置如下:
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(endPoint)
.build();
T service = restAdapter.create(clazz);
然后我调用一个像这样的休息服务:
@GET("/users/{login}")
Observable<Github> getUser(@Path("login") String login);
现在使用GraphQL,你只有一个基本URL,没有服务路径。另外,如果你是像userId=1这样的查询,那么你必须发送带有Body参数的Post:
operationName: arbitrary name ,
query: "{users(userid:$userId){username}},
variables: "{"userId":1}"
我只是不知道这怎么翻译为翻新
3条答案
按热度按时间ltskdhd11#
为GraphQL构建查询和解析响应并不简单。如果你在宠物项目中使用这个,我建议你开始探索阿波罗。这个客户端正在认真开发,但你已经可以看看和玩它。
https://github.com/apollographql/apollo-android
到目前为止,我很喜欢与Apollo合作,他们的路线图上有一些不错的功能:RxJava集成、改造、订阅和AutoValue支持
crcmnpdw2#
在你的清单中添加
您的依赖项
Java 8兼容性
与服务
你可以创建一个对象
在活动中,您可以创建此方法
您可以检查the example in GitHub和my post
注意:如果需要突变应该改这一行
到
dpiehjr43#
这种方法对我很有效: