Tag: 翻新

OkHttp支持接受自签名SSL证书吗?

我正在为拥有带有自签名SSL证书的服务器的客户工作。 我正在使用包装的OkHttp客户端使用Retrofit + CustomClient: RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(Config.BASE_URL + Config.API_VERSION) .setClient(new CustomClient(new OkClient(), context)) .build(); OkHttp默认支持调用自签名SSL证书服务器吗? 顺便一提。 哪个客户端默认使用Retrofit? 我认为这是OkHttp,但是当我研究了一点,我意识到我需要导入OkHttp依赖项

添加标题的所有请求与改造2

翻新2的文档说: 需要添加到每个请求的头可以使用OkHttp拦截器来指定。 使用以前的版本可以轻松完成, 这里是相关的QA。 但使用retrofit 2,我找不到像setRequestInterceptor或setInterceptor方法,可以应用到Retrofit.Builder对象。 另外似乎OkHttp中没有RequestInterceptor了。 Retrofit的文档提到了Interceptor ,我不太明白如何使用它。 我怎样才能做到这一点?

Retrofit 2.0如何获得反序列化的错误response.body

我正在使用Retrofit 2.0.0-beta1 。 在testing中,我有一个替代scheme,并期望错误HTTP 400 我想有retrofit.Response<MyError> response但response.body() == null MyError没有反序列化 – 我只能在这里看到它 response.errorBody().string() 但它不会给我MyError作为对象

使用Retrofit 2.0和RxJava获取响应状态代码

我正在尝试升级到Retrofit 2.0,并在我的Android项目中添加RxJava。 我正在做一个API调用,并希望检索错误代码的情况下,从服务器的错误响应。 Observable<MyResponseObject> apiCall(@Body body); 在RxJava调用中: myRetrofitObject.apiCall(body).subscribe(new Subscriber<MyResponseObject>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(MyResponseObject myResponseObject) { //On response from server } }); 在1.9版本中,RetrofitError依然存在,我们可以通过以下方式获得状态: error.getResponse().getStatus() 如何使用RxJava进行Retrofit 2.0操作?

改造期望的BEGIN_OBJECT,但是BEGIN_ARRAY

我对JSONparsing相当陌生,我正在使用Square的Retrofit库,并遇到了这个问题。 我试图parsing这个JSON响应: [ { "id": 3, "username": "jezer", "regid": "oiqwueoiwqueoiwqueoiwq", "url": "http:\/\/192.168.63.175:3000\/users\/3.json" }, { "id": 4, "username": "emulator", "regid": "qwoiuewqoiueoiwqueoq", "url": "http:\/\/192.168.63.175:3000\/users\/4.json" }, { "id": 7, "username": "test", "regid": "ksadqowueqiaksj", "url": "http:\/\/192.168.63.175:3000\/users\/7.json" } ] 这是我的模特: public class Contacts { public List<User> contacts; } … public class User { String username; String regid; @Override public String […]

(Retrofit)找不到类崩溃应用程序的转换器

所以Retrofit 2.0.0最近发布了,并没有真正的更新如何使用它的例子,但即时通讯试图实现一个基本的API调用。 我得到一个 java.lang.IllegalArgumentException: Unable to create converter for class` 造成的 Caused by: java.lang.IllegalArgumentException: Could not locate converter for class orbyt.app.dataclass. Tried: * retrofit.OkHttpBodyConverterFactory 当试图进行API调用。

改造GSON将date从jsonstring序列化为java.util.date

我正在使用Retrofit库进行REST调用。 大部分我所做的一直是顺利的黄油,但由于某种原因,我有问题将JSON时间戳string转换为java.util.Date对象。 即将到来的JSON看起来像这样。 { "date": "2013-07-16", "created_at": "2013-07-16T22:52:36Z", } 我如何告诉Retrofit或Gson将这些string转换为java.util.Date objects ?

使用Rxjava Schedulers.newThread()与Schedulers.io()进行改造

在Retrofitnetworking请求中使用Schedulers.newThread() vs Schedulers.io()什么好处。 我见过很多使用io()例子,但我想明白为什么。 示例情况: observable.onErrorResumeNext(refreshTokenAndRetry(observable)) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread())… VS observable.onErrorResumeNext(refreshTokenAndRetry(observable)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread())… 我看到的原因之一是 – newThread()为每个工作单元创build一个新的线程。 io()将使用线程池 但是这个说法对应用程序有什么影响呢? 还有其他的方面呢?

Android Retrofit参数化的@Headers

我正在使用OAuth,每次发出请求时都需要将OAuth令牌放入我的头文件中。 我看到@Header注释,但有没有办法让它参数化,所以我可以在运行时传入? 这是概念 @Header({Authorization:'OAuth {var}', api_version={var} }) 你可以在运行时传递他们吗? @GET("/users") void getUsers( @Header("Authorization") String auth, @Header("X-Api-Version") String version, Callback<User> callback )

无法在Android Retrofit库中为我的课程创build转换器

Im从使用Volley迁移到Retrofit,我已经有了用于将JSONObject响应转换为实现gson注释的对象的gson类。 当我试图使用改进http请求请求,但然后我的应用程序崩溃与此错误: Unable to start activity ComponentInfo{com.lightbulb.pawesome/com.example.sample.retrofit.SampleActivity}: java.lang.IllegalArgumentException: Unable to create converter for class com.lightbulb.pawesome.model.Pet for method GitHubService.getResponse 我遵循在改造网站的指导,我想出了这些实现: 这是我正在尝试执行复古http请求的活动: public class SampleActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample); Retrofit retrofit = new Retrofit.Builder() .baseUrl("**sample base url here**") .build(); GitHubService service = retrofit.create(GitHubService.class); Call<Pet> callPet = service.getResponse("41", "40"); callPet.enqueue(new Callback<Pet>() […]