草庐IT

RetroFit

全部标签

java - 如何在 Retrofit onResponse 的方法中返回数据?

我是改造新手,我想让我的getData方法返回一个要素对象。最简单的方法是什么?数据服务.javapublicclassDataService{privatestaticfinalStringTAG=MainActivity.class.getSimpleName();privatefinalApiClientapiClient;publicDataService(){apiClient=newApiClientFactory().createApiClient();}publicListgetData(){apiClient.getData().enqueue(newCallback

android - 同一字段有两种不同类型给 Retrofit 2 的 Gson 转换器带来麻烦

这是json模式:如您所见,rated可以是bool值和对象。我正在使用Retrofit2和Gson转换器。我应该如何为这个模式创建我的模型? 最佳答案 这是我解决这个问题的方法:在您的模型中创建自定义类型适配器并手动解析评级;publicclassAccountState{//@SerializedName("rated")//NOPE,parseitmanuallyprivateIntegermRated;//alsodon'tnameitratedpublicIntegergetRated(){returnmRated;}pu

android - 如何使用 Retrofit 2 获取 hashmap 响应

我正在尝试使用改造2获取json对象响应。我使用hashmap,因为键是动态的。这是我的响应类:publicclassCountries{privateMapdatas;publicMapgetDatas(){returndatas;}}Model类是:publicclassModel{@SerializedName("country_name")privateStringcountry_name;@SerializedName("continent_name")privateStringcontinent_name;publicStringgetCountry_name(){retu

android - Retrofit 中的 Rxjava observeOn 和 subscribeOn

观察:这个方法简单地改变了下游所有运算符(operator)的线程(https://medium.com/upday-devs/rxjava-subscribeon-vs-observeon-9af518ded53a)当调用API时,我想在IO线程上运行与服务器的通信,并希望在mainThread上处理结果。我在很多教程中看到下面的代码,毫无疑问它是正确的。但我的理解是相反的,所以我想知道我误解了什么。requestInterface.callApi().observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.i

java - 我如何在 Retrofit 库中使用 Gson?

我使用Retrofit发送请求并在android中接收响应,但是当我想要转换来自服务器的响应时遇到问题,它总是给我Exception:retrofit.RetrofitError:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:ExpectedBEGIN_OBJECTbutwasSTRING当服务器的响应应该给我电影列表时,我需要将所有这些电影放入列表中。电影(模型类):publicclassMovie{publicMovie(){}@SerializedName("original_title")

java - 无法使用 GsonConverterFactory 在 Retrofit 2.0 中将子类对象转换为请求正文 json

在我的例子中,当我将子类对象放入改造请求中时,它在请求正文中变为空白interfaceUser{//mysuperinterface}classFbUserimplementsUser{//mysubclasspublicStringname;publicStringemail;}interfaceAPIInterface{@POST(APIConstants.LOGIN_URL)ObservablecreateUserNew(@BodyUseruser);}Retrofitretrofit=newRetrofit.Builder().baseUrl(baseUrl).addConve

android - 如何使用 RxJava 2 + Retrofit 2 进行 POST?

这个问题听起来很简单,但我很难过。我可以这样用改造2完成帖子:classRetrofitClient{privatestaticRetrofitretrofit=null;staticRetrofitgetClient(StringbaseUrl){if(retrofit==null){retrofit=newRetrofit.Builder().baseUrl(baseUrl).addCallAdapterFactory(RxJava2CallAdapterFactory.create()).addConverterFactory(GsonConverterFactory.creat

android - 使用包含参数的 json 对象改造 POST

我正在使用Retrofit向我的服务器发送一个POST请求:@POST("/login")voidlogin(@BodyUseruser,Callbackcallback);我的user对象只有email和password字段。查看日志,我可以看到我的参数是以这种格式发送的:D/Retrofit﹕{"email":"example@test.com","password":"asdfasdf"}我需要对这样发送的参数做些什么?{"user":{"email":"example@test.com","password":"asdfasdf"}} 最佳答案

java - 使用改造转换 json 数组?

这是我的Json[{"nata_center":{"id":67,"nata_center_name":"PrimoInstituteofDesign"}},{"nata_center":{"id":68,"nata_center_name":"SaiGaneshInstitute"}}]Pojo类publicclassExplorer{NataCenternataCenter;publicNataCentergetNataCenter(){returnnataCenter;}publicvoidsetNataCenter(NataCenternataCenter){this.nata

android - 如何在 Android 上使用 GraphQL 和 Retrofit?

我是GraphQL的新手,但我已经使用Retrofit一段时间了,它易于使用且速度很快。GraphQL在传递数据方面与restapi有很大不同。确实没有太多关于在Android上使用GraphQL的教程,我只能找到这个视频(https://www.youtube.com/watch?v=P0uJHI7GjIc&t=1s),但里面没有真正的代码。在我当前的改造调用代码中,我设置了一个端点:finalRestAdapterrestAdapter=newRestAdapter.Builder().setEndpoint(endPoint).build();Tservice=restAdapt