GraphQL konusunda yeniyim ama bir süredir Retrofit kullanıyordum, kullanımı kolay ve hızlı. Veriyi nasıl geçirdiğinize göre GraphQL, dinlenme apisinden çok farklıdır. Orada Android ile GraphQL kullanarak orada çok fazla öğreticiler gerçekten yok, ben sadece bu video (https://www.youtube.com/watch?v=P0uJHI7GjIc&t=1s) bulmak mümkün oldu ama orada gerçek bir kod yoktur.Android'de Retrofit ile GraphQL nasıl kullanılır?
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(endPoint)
.build();
T service = restAdapter.create(clazz);
Sonra böyle bir dinlenme hizmetlerini arayın:
GraphQL ile Şimdi@GET("https://stackoverflow.com/users/{login}")
Observable<Github> getUser(@Path("login") String login);
yalnızca sahip güçlendirme aramaları için geçerli kodunda
ben şöyle ayarlanmış bir bitiş noktası vardır temel url ve servis yolu yok. Eğer KullanıcıNo gibi sorguluyorsunuz Ayrıca eğer = 1 o zaman Vücut parametreleriyle mesaj olarak göndermek zorunda:
operationName: arbitrary name ,
query: "{users(userid:$userId){username}},
variables: "{"userId":1}"
Bunun GraphQL olduğu için
Sen içeren bir JSON vücut oluşturmak gerekir AutoValue için Abonelikler ve destek sizin ' sorgu ', 'operationName' ve' variable's, sonra sunucuya JSON atanmış POQLS için yeniden adlandırmak için belirlenen GraphQL URL için ayarlayın. Retrofit'in sadece OkHttp ve Gson for GraphQL kullanarak fazla fayda sağlayacağından emin değilim. – CommonsWare
Tamam, burada bir güçlendirme için JSON gövdesinin nasıl oluşturulduğunu görüyorum: http://stackoverflow.com/questions/21398598/how-to-post-raw-whole-json-in-the-body-of-a-retrofit- istek. Ama Post yolu ne olmalı? Yani: Benim Graphql sunucum için sadece bir temel url var. – Mike6679
"Post yolu ne olmalı" - bir GraphQL sunucusunda genellikle yalnızca bir uç nokta vardır. Yani, özellikle de '/ graphql' ile bittiğinde, sahip olduğunuz temel URL'yi kullanın. – CommonsWare