草庐IT

Retrofit

全部标签

android - Retrofit、Gson 和一组异构对象

我正在使用Retrofit向我们的服务器执行REST请求。其中一个请求返回array在POJO中反序列化的对象s,从abstractclassEvent延伸.事件有方法getEventType()返回String,此字符串是键的值"EventType"我将永远拥有JSONObjects在数组中。这就是JSON的方式看起来像(我们现在有7种类型的对象):[{"EventType":"typeA","Data":"data"},{"EventType":"typeB","OtherData":3}]我正在尝试使用Retrofit和GSONAPI反序列化此JSON在异步调用中,使用Callb

android - 使用 Retrofit 检查响应的数据类型

当我使用Retrofit时,我已经设计了所有的POJO,并且它运行完美。API的设计方式是,如果数据是当前日期或future日期但不是过去日期,它将发送所需的数据。在响应中,我将得到一个JSON响应,其中包含JSON对象和一个数组的组合,作为JSON对象的值,POJO就是根据它。现在,如果没有当前和future日期的记录,那么我将收到一个字符串而不是数组,这会导致API错误java.lang.IllegalStateException:ExpectedBEGIN_ARRAYbutwasSTRING。那么我想知道是否有任何方法可以确定——我收到的是数组还是字符串?以及如何根据该更新POJ

android - 使用 PartMap Retrofit 2 上传多个文件

发布新产品时,我的服务器需要使用key捕获文件。文件数量没有限制。文件是无限的。有了Retrofit1.9,一切都完美无缺。更新到Retrofit2后,我的服务器没有收到任何文件。如果我编辑服务器,它将不再向后兼容。我需要让Android应用程序像使用Retrofit1.9一样工作。这是我的实现方式。改造1.9创建ApiService接口(interface)的类。publicclassApiClient{publicinterfaceApiInterface{@Multipart@POST("/products/")voiduploadProduct(@PartMapMapparam

java - Retrofit.Callback 的 success() 和 failure() 在同一个 Activity 中有两个接口(interface)实现的情况下

我目前正在编写一个连接到服务器以发出POST请求的应用程序。为此,我为各种网络操作创建了多个Retrofit接口(interface)。我有一个执行注册的:我获取用户名、电子邮件等,发出POST请求,然后作为最终参数我有一个回调(RegistrationResult是一个POJO,它在类变量中接受“成功”或“失败”).这个界面看起来像这样:publicinterfaceRegistrationInterface{@FormUrlEncoded@POST("/api/apiregistration.php")voidconnect(@Field("country")Stringcount

android - 使用 Retrofit2 在 POST 请求中发送 JSON

我正在使用Retrofit来集成我的Web服务,但我不明白如何使用POST请求将JSON对象发送到服务器。我目前卡住了,这是我的代码:Activity:-@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Retrofitretrofit=newRetrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFac

使用Retrofit 2 请求HTTP

什么是RetrofitRetrofit是一个基于OkHttp的RESTfulHTTP网络请求库,是目前比较流行的HttpClient库之一。它使得开发者可以更方便地与Web服务交互,通过简洁的API接口,实现了将RESTAPI请求转化为Java接口调用的方式。Retrofit的主要特点如下:简单易用:Retrofit使用简洁的注解方式定义RESTAPI的接口,支持多种HTTP请求方法(如GET、POST、PUT、DELETE等),并自动将响应结果转换为Java对象。支持异步请求:Retrofit支持异步网络请求,可以使用RxJava、Kotlin协程等方式实现异步请求,避免在主线程中执行耗时操

java - 如何在 Spring Boot @ResponseBody 中返回 404 响应状态 - 方法返回类型是响应?

我正在使用SpringBoot和基于@ResponseBody的方法,如下所示:@RequestMapping(value=VIDEO_DATA_PATH,method=RequestMethod.GET)public@ResponseBodyResponsegetData(@PathVariable(ID_PARAMETER)longid,HttpServletResponseres){Videovideo=null;Responseresponse=null;video=videos.get(id-1);if(video==null){//TODOhowtoreturn404sta

java - 如何在 Spring Boot @ResponseBody 中返回 404 响应状态 - 方法返回类型是响应?

我正在使用SpringBoot和基于@ResponseBody的方法,如下所示:@RequestMapping(value=VIDEO_DATA_PATH,method=RequestMethod.GET)public@ResponseBodyResponsegetData(@PathVariable(ID_PARAMETER)longid,HttpServletResponseres){Videovideo=null;Responseresponse=null;video=videos.get(id-1);if(video==null){//TODOhowtoreturn404sta

java - 如何使用 Retrofit 和 RxJava/RxAndroid 处理响应错误?

我无法弄清楚如何处理改造和RxAndroid的响应错误。onError()在出现网络错误或类似错误时被调用,但我需要能够获得响应以检查是否存在身份验证错误。相反,我得到的是一个带有空字符串的标记,我找不到原因。解决此问题的最佳方法是什么?目前这是我的RxAndroid调用。Client.getInstance().getService().getToken(usernameET.getText().toString(),passwordET.getText().toString()).subscribe(newSubscriber(){@OverridepublicvoidonComp

android - RxJava 和 Retrofit - Rx 的第一步

使用RxJava(没有Retrolambda),我想做一些API调用并用它来完成我的数据。我的不完整对象是带有对象“季节”列表的“TvShow”。这个“季节”是空的,我需要用剧集来完成它。ObservablegetDataTVShow(longidTvShow)//getTvShowwithemptyseasons(exceptseasonnumber)ObservablegetDataSeason(longidTvShow,intseasonNumber);//getonecompleteseasonwithepisodes所以我想:获取我的“TvShow”对象(确定)从我的“TvS