retrofit @FieldMap 与 @Body 区别
菜鸟何时起飞关注
0.222019.06.26 14:52:29字数 91阅读 3,640
@FieldMap必须与 @FormUrlEncoded 一起配合使用
提交的Content-Type 为application/x-www-form-urlencoded
@POST()
@FormUrlEncoded
<T> Observable<ResponseBody> executePost(
@Url() String url,
@FieldMap Map<String, Object> maps);
Content-Type: application/x-www-form-urlencoded
@Body 提交的提交的Content-Type 为application/json; charset=UTF-8
@POST()
Observable<ResponseBody> executePostBody(
@Url String url,
@Body Object object);
Content-Type: application/json; charset=UTF-8
如果使用别人的封装的网络框架 出现415 的情况 就可以考虑看是不是因为Content-Type不对,切换一下body与FieldMap 万一解决了呢!!!!
4人点赞
Retrofit:@FieldMap与@Body的区别与应用场景
本文对比了Retrofit中@FieldMap与@Body的使用场景,前者配合@FormUrlEncoded用于URL编码数据,后者用于JSON格式数据提交。解决415错误可能需要调整Content-Type。

4843

被折叠的 条评论
为什么被折叠?



