记录下最近遇到的糟心的后端接口
postman 请求如下:
form-data_with_text.png
就是用表单形式提交一串字符串, 本来很简单地放在body里就搞定的事情,非另辟蹊径、杀鸡焉用牛刀 地把这个上传文件的来传个字符串
,讲真,第一次见给我恶心到了,哎没办法,只能找找解决
最终解决了:
@Multipart
@POST("xxx/editCase")
Observable<BaseEntity<Object>> ediInfo(@Part("content") RequestBody content, @Query("caseId") String caseId, @Query("type") int type);
入参地方:
//声明类型,这里是文字类型
MediaType textType = MediaType.parse("text/plain");
//根据声明的类型创建RequestBody,就是转化为RequestBody对象
RequestBody contentBody = RequestBody.create(textType, content);
// HashMap<String, Object> hashMap = new ParamMapTool().put("content", content).build();
// RequestBody requestBody = TjRetrofitUtils.getInstance().getRequestBody(hashMap);
String contentTe="但由于各种原因,双方之间产生纠纷也是难以避免的事情。劳动纠纷的发生";
Observable<BaseEntity<Object>> observable = TjRetrofitFactory.getInstance().editSjMediationInfo(contentBody, caseId, type);
回头补了MediaType
1.Content-Type、MediaType是什么?
MediaType,即是Internet Media Type,互联网媒体类型,也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。(也就是说MediaType在网络协议的消息头里面叫做Content-Type)它使用两部分的标识符来确定一个类型,是为了表明我们传的东西是什么类型。
2.常见的媒体格式类型如下:
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
具体参见https://blog.csdn.net/luqingshuai_eloong/article/details/103743077
网友评论