Retrofit2+RxJava2 使用POST方式提交JSON数据,服务器无法解析的问题

来源:互联网 发布:阳煤集团知乎 编辑:程序博客网 时间:2024/06/08 03:03

使用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)
阅读全文
0 0
原创粉丝点击