草庐IT

RetroFit

全部标签

android - %3F 而不是我的 Retrofit URL 中的问号

我正在尝试将图片发送到服务器。我的网址包含一些关于我手机的参数:api/v2/user/email_register%3F_height=1184&_target=android/2&_width=768这是工作变体:api/v2/user/email_register?_height=1184&_target=android/2&_width=768(无刺激%3?代码)此外,我正在尝试将我的照片传递到@Body中:@POST("/{url}")Observableregister(@Header("x-device-id")StringdeviceId,@BodyRequestBod

android - 多个请求进行改造以合并结果

我正在使用改造(1.9)并尝试弄清楚如何调用2个API并合并结果。我想当最后一个api完成返回响应时应该合并结果......我该怎么做?更新,根据Antons的回答,我尝试了以下方法:添加到gradle:compile'io.reactivex:rxjava:1.0.+'compile'io.reactivex:rxandroid:0.23.+'API接口(interface)@GET("/maps/api/place/details/json")ObservablegetPlacesFrom1(@Query("key")Stringkey,@Query("placeid")Strin

android - 改造 POST Realm 对象

我有以下RETROFITAPI:@POST("/payments")ObservablesaveCreditCard(@BodyCreditCardcreditCard)CreditCard是一个RealmObject。当我尝试使用我的API方法时:CreditCardcard=realm.createObject(CreditCard.class);card.setWhateverField(...);...mApi.saveCreditCard(card).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainTh

android - 在 Android 中使用 retrofit 2 上传二进制文件

我想上传一个二进制文件到Android中的服务器。我通过postman测试Api方法:没关系,如您所见,还有另一个选项,您可以将文件作为表单数据(键,值)上传:每个教程(如thisone)都描述了如何将文件上传为multipart/form-data://createRequestBodyinstancefromfileRequestBodyrequestFile=RequestBody.create(MediaType.parse("multipart/form-data"),file);//MultipartBody.Partisusedtosendalsotheactualfil

android - 如何在 Retrofit 中检索 cookie?

我阅读了有关请求拦截器的内容,但不知道如何真正使用它们来获取cookie...我正在从nodejs中像这样发送cookie...res.cookie('userid',user._id,{maxAge:86400000,signed:true,path:'/'});并且在我的android客户端中-到目前为止我已经为我的RestApiManager设置了这个publicclassRestApiManager{privatestaticfinalStringAPI_URL="ip:port";privatestaticfinalRestAdapterREST_ADAPTER=newRes

android - 使用 Call 不工作来模拟 Retrofit 响应调用

我在模拟APIService的响应。不幸的是,它不起作用,我必须发回一个电话,但我不明白该怎么做。问题是如何发回Call对象。@RunWith(AndroidJUnit4::class)classApiServiceTest{@TestfuntestSomething(){valapiService=ApiServiceMock()valcall=apiService.getStep1User()valresult=call.execute()Assert.assertEquals("SomeUserValue",result.body()!!.getResponse())}}这是模拟

android - 如何使用 Retrofit 添加多个相同/数组参数?

我有一个实例,我需要将多个相同命名的参数传递给服务器(数据数组)。改变它是不可能的。http://test.com?test[]=1&test[]=2&test[]=3我如何使用RetroFit完成此操作?我看到您可以传递一个值映射,但这无济于事,因为键都是相同的。任何帮助都会很棒...真的希望有一个干净的方法/解决方法,否则我将需要使用另一个api库并进行项目重构。 最佳答案 自1.4.0起的改造添加了将数组或列表作为@Field或@Query参数发送的功能。New:@Queryand@EncodedQuerynowacceptL

android - 如何在 Retrofit 2 中使用 AutoValue?

我在一个项目中使用了AutoValue(和android-apt插件),我知道RyanHarter的AutoValue的gson扩展,但是我如何连接Retrofit2以使用扩展和工厂方法抽象类?StringgrantType="password";CallsignInCall=retrofitApi.signIn(email,password,grantType);signInCall.enqueue(callback);例如,在这里我想将AutoValue与SignInJSON模型对象一起使用以强制执行不可变性,但我如何将Retrofit(或者更具体地说是Gson)连接到不可变的Au

android - 如何在android中的Retrofit 2的 'Body'参数中传递字符串

@POST("api/login")CallloginUser(@BodyStringuser);这里的字符串实际上是一个JSONstring即{"email":"test@gmail.com","password":"test"}无法弄清楚这里有什么问题。它再次将字符串转换为json。请建议..这就是我想要对我的请求执行的操作,如图所示。 最佳答案 在对象中转换你的数据publicclassCredentials{publicStringemail;publicStringpassword;}将数据设置为对象Credentials

android - 如何在改造android中发布数组

如何通过post方法在改造中发布以下参数?"params":{"body":{"learning_objective_uuids":["ED4FE2BB2008FDA9C8133FF462959C0968FAB98C4D1DB8F2"],"note":"FasfAFSASFASDF","user_uuids":["EDF8B7EC20005ACC5C40FF7D6E988801F5BAD83CBBCDB97F","EDF8F78F2000569C64101F244AA20C0070D2A7FCB1939E19"]}}}} 最佳答案