草庐IT

retrofit

全部标签

android - Retrofit 2.0.0 Beta2 OkHttpClient 拦截器抛出 StackOverFlowError

我正在尝试构建一个用于登录的拦截器。这是我的以下代码:OkHttpClientclient=newOkHttpClient();client.interceptors().add(newInterceptor(){@OverridepublicResponseintercept(Chainchain)throwsIOException{Requestrequest=chain.request();StringauthToken=SharedPrefsManager.get(context).getAccessToken();request.newBuilder().addHeader(

android - 改造httpLogInterceptor java.lang.NoSuchMethodError :

我正在通过HttpLogInterceptor实现打印日志。但是发生了一个错误。10-0405:22:55.75321294-21851/com.tc.retorfit_okhttp_cache_techniqueE/AndroidRuntime:FATALEXCEPTION:OkHttpDispatcherProcess:com.tc.retorfit_okhttp_cache_technique,PID:21294java.lang.NoSuchMethodError:Novirtualmethodlog(Ljava/lang/String;)VinclassLokhttp3/in

java - Retrofit 对象返回为 null

我构建了一个RetroFitService来返回一些对象。在MainActivity中,我只需单击一下按钮即可调用该服务。我似乎得到了某种对象,但我不觉得它实际上是从我指定的RESTAPI返回的。它显示在调试器中,但其属性为空:bFetch.setOnClickListener(v->{v.startAnimation(AnimationUtils.loadAnimation(this,R.anim.image_click));RetrofitServiceservice=ServiceFactory.createRetrofitService(RetrofitService.clas

android - 从 Retrofit 响应中获取单个 JSON 值

我试图使用Retrofit从JSON获取单个值,我遵循了一个教程,但我收到一条错误消息,指出“必须声明从回调派生的类匿名类......”。我特别想要实现的是在一个空字符串中回显单个json属性值,如StringAx="";我用来自服务器的json文件的特定值填充它。这是我尝试过的。Json格式"axe1":{"test1"}Api接口(interface)importcom.google.gson.JsonObject;importretrofit2.Call;importretrofit2.http.GET;publicinterfaceApiInterface{@GET("test

android - Retrofit 2 - 使用相同请求的内容管理 http "204 No content"和 "200"

我正在使用Retrofit2和OkHttp3,以及RxJava2我正在调用带有一些参数的服务器。根据参数,服务器返回一个包含对象列表的JSON。但是,如果没有任何内容可返回,则服务器不会返回带有空列表的JSON,而是返回“204-无内容”。结果我得到一个NullPointerException。我知道如何管理JSON响应,我知道如何管理204响应,但不知道如何管理同一个调用。我可以使用拦截器,但由于我有很多调用,我的Retrofit客户端只创建一次,然后在必要时使用Dagger2注入(inject)。我该如何处理这个案例? 最佳答案

android - Retrofit 2、GSON 和自定义解串器

我使用Retrofit2和一些POJO对象已有一段时间了。这是一个可爱的库并且运行良好,但它需要一些我想摆脱的可怕和困惑的模型。我将向您展示...我有以下JSON可供细读:{"things":[{"thing":{"id":823,"created_at":"2016-02-09T22:55:07.153Z","published_at":"2016-02-10T19:23:42.666Z","downloads":16073,"size":10716291}},],"count":4,"links":{}}使用POJOSchema生成器会创建不必要的类,使维护代码变得困难。这将创建:

java - 如何配置 Square 的 Retrofit Client 来处理参数数量可变的请求

我正在构建一个Android应用程序,并使用Square的Retrofit库进行短暂的网络调用。我对Java和Android比较陌生。到目前为止,我已经构建了这样的请求:@GET("/library.php")voidlibrary(@Query("one_thing")StringoneThing,@Query("another_thing")StringanotherThing,Callback>callback);然后这样称呼他们:service.library(oneThing,anotherThing,callback);我需要实现一个接受可变数量参数的请求,不超过10个左右

android - 使用 Retrofit 访问带有 key/id 的 API

我还没有真正找到关于此的明确文档,但我想知道是否有人可以指出我使用Retrofit(或OKHTTP或其他更合适的东西)以便从API中提取JSON流需要APIID和APIkey(例如从终端访问数据:curl-v-H"app_id:appid"-H"app_key:appkey"-XGET"http://data.leafly.com/strains/blue-dream")。我查看了Square网站上的官方文档,但如果还有其他任何东西可以帮助我提取该数据,那就太棒了。谢谢!最终答案RestAdapter.Builderbuilder=newRestAdapter.Builder().se

android - 将模拟 Retrofit API 服务实例注入(inject) ActivityInstrumentTestCase2

我想使用Espresso为Activity编写功能测试,使用通过MockRestAdapter(https://github.com/square/retrofit/blob/master/retrofit-mock/src/main/java/retrofit/MockRestAdapter.java)创建的模拟RetrofitAPI服务实例。但这有点棘手,因为您无法真正通过Activity的构造函数注入(inject)任何依赖项。目前,单个RetrofitAPI服务实例存在于我的Application对象中,我在我的每个Activity的onCreate()方法中创建了一个对它的引

android - 使用 Dagger 时将 RestAdapter.build() 和 .create() 方法分开的原因是什么?

过去几个月我一直在使用Dagger/Retrofit,并且看到了为api实现ApiModule类的常见模式。这些ApiModule通常看起来像这样:@Provides@SingletonClientprovideClient(OkHttpClientclient){returnnewOkClient(client);}@Provides@SingletonEndpointprovideEndpoint(){return"release".equalsIgnoreCase(BuildConfig.BUILD_TYPE)?Endpoints.newFixedEndpoint(PRODUCT