retrofit @FieldMap 与 @Body 区别

Posted 汤米粥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了retrofit @FieldMap 与 @Body 区别相关的知识,希望对你有一定的参考价值。

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

以上是关于retrofit @FieldMap 与 @Body 区别的主要内容,如果未能解决你的问题,请参考以下文章

Android开发 retrofit下载与上传

Retrofit2与RxJava用法大全

RxJava 与 Retrofit

面试 反思Retrofit源码与设计 7 连问

Retrofit2与RxJava用法大全

Retrofit - @Body 参数不能与表单或多部分编码一起使用