使用Retrofit2+RxJava2时候跳了个坑
提交Json格式的数据到服务器时,总是提交不成功,不然就是提交成功后没有获取到内容
不管是使用JSONObject封装好数据提交还是使用FormBody.build()构建一个RequstBody提交都是失败,最后采用create的方式才能提交成功
JSONObject requestData = new JSONObject();
requestData.put("content", comment);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), requestData.toString());
接口如下:
@POST("/comment")
Observable<BaseEntity<Bean>>
userComment(@Body RequestBody requestBody, @Query("id") int newsId);
注:使用Map方式POST时候会加上注解 @FormUrlEncoded
但是使用RequstBody时,切记不能加上,否则报错,提示
java.lang.IllegalArgumentException: @Body parameters cannot be used with form or multi-part encoding. (parameter #1)