Tag: retrofit2 okhttp3

自定义HTTP方法在Retrofit 2中不起作用

您好我在我的代码中使用了自定义方法,如下所示,但它总是给我 java.lang.IllegalArgumentException:方法AUTH必须没有请求体。 我的代码不工作总是说: Custom method AUTH, must not have a Body @Headers(“Content-Type: application/json”) @HTTP(method = “AUTH”, path = “login/{deviceId}”, hasBody = true) Call getLogin( @Path(“deviceId”) int deviceId, @Body RequestBody password); 我正在使用以下依赖。 compile ‘com.google.code.gson:gson:2.8.1’ compile ‘com.squareup.retrofit2:retrofit:2.3.0’ compile ‘com.squareup.retrofit2:converter-gson:2.3.0’ compile ‘com.squareup.okhttp3:okhttp:3.8.1’ compile ‘com.squareup.okhttp3:logging-interceptor:3.4.1’ 你能帮我么。

用于http请求和响应日志记录的HttpLoggingInterceptor

我正在使用retrofit2,我需要记录所有请求和响应。 请求和响应工作完美,我只需要记录这些请求/响应,我尝试了几乎所有解决方案,我在这里找到,但没有找到解决方案。 我不明白这里有什么不对 这是我的代码 class Factory { private final static OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); private static NetworkApi.Factory serverApi; private static HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); private Retrofit retrofit = new Retrofit.Builder() .baseUrl(RequestApi.BASE_URL) .client(httpClient.build()) .addConverterFactory(GsonConverterFactory.create()) .build(); public static NetworkApi getApi() { if (BuildConfig.DEBUG){ interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { […]