关于multipart/form-data
https://blog.csdn.net/jdsjlzx/article/details/52246114 //看一下这个博客
我们知道 retrofit 是okhttp的wrapper(包装)
retrofit 是通过注解 然后通过动态代理来构建请求链接的
下面这样
@POST("/user/getFirstPage")
Observable<RecommendHomeBean> getRecommendList(@Header("token") String token, @Query("page") int page, @Query("size") int size);
@Headers({"Content-type:application/json;charset=UTF-8"})
@POST("/firstPage/moreTutorVideo")
Observable<CommonMoreCourseListBean> getMoreCommonTeacherCourseList(@Header("token") String token, @Body RequestBody requestBody);
一般普通的post请求就像上面这两种
但有接口明确 Content-Type: multipart/form-data
![](https://i-blog.csdnimg.cn/blog_migrate/b41152a16a2bfc1e4b73c8ac47312329.png)
image.png
那么我们如何构建呢 retrofit 构建呢? 可以像下面这样
@Multipart
@POST("/user/ask/edit")
// Observable<String>editQA(@QueryMap Map<String, String> map);
Observable<String>editQA(@PartMap Map<String, String> map);
参考博客:https://blog.csdn.net/Ash_Zheng/article/details/79262780
当然也可以试一下 (我还没有试过)
@Headers({"Content-type:multipart/form-data;charset=UTF-8"})
@POST("/user/ask/edit")
Observable<String>editQA(@QueryMap Map<String, String> map);