改造-2内容types问题

我的Api接受Content-Type应用程序/ json作为标题。 我完全按照Retrofit Docs中的提示设置Header。

@Headers("Content-Type: application/json") @POST("user/classes") Call<playlist> addToPlaylist(@Body PlaylistParm parm); 

但在请求日志中是返回内容typestxt / html.So我应该如何解决这个问题? 这个API在POSTMAN中工作正常 在这里输入图像说明

在这里输入图像说明

Solutions Collecting From Web of "改造-2内容types问题"

你可以在我的解决scheme下面尝试一下:

 @POST("user/classes") Call<playlist> addToPlaylist(@Header("Content-Type") String content_type, @Body PlaylistParm parm); 

然后打电话

 mAPI.addToPlayList("application/json", playListParam); 

要么

创buildHttpClient对象

 OkHttpClient httpClient = new OkHttpClient(); httpClient.networkInterceptors().add(new Interceptor() { @Override public com.squareup.okhttp.Response intercept(Chain chain) throws IOException { Request.Builder requestBuilder = chain.request().newBuilder(); requestBuilder.header("Content-Type", "application/json"); return chain.proceed(requestBuilder.build()); } }); 

然后添加到改造对象

 Retrofit retrofit = new Retrofit.Builder().baseUrl(BASE_URL).client(httpClient).build(); 

尝试:

 @POST("user/classes") Call<playlist> addToPlaylist( @Header("Content-Type") String contentType, @Body PlaylistParm parm); 

尝试这种改造1.9和2.0。 对于Json内容types。

 @Headers({"Accept: application/json"}) @POST("user/classes") Call<playlist> addToPlaylist(@Body PlaylistParm parm); 

你可以添加更多的即

 @Headers({ "Accept: application/json", "User-Agent: Your-App-Name", "Cache-Control: max-age=640000" }) 

也许你需要'/',最好不要自己改变内容types。 像这样:

 @POST("user/classes/") Call<playlist> addToPlaylist(@Body PlaylistParm parm);