请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

网络请求框架封装

在封装post请求的时候,用的RequestParams类里面维护的Map,之后在往FormBody.Builder里面添加参数的时候,这只能进行K-V类型的POST请求, 并不能完成JSON格式传参,封装的不是很充足

正在回答 回答被采纳积分+3

1回答

提问者 kmmoonlight 2019-09-03 17:54:52
if (params != null) {
    for (Map.Entry<String, Object> entry : params.fileParams.entrySet()) {
        if (entry.getValue() instanceof File) {
            requestBody.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + entry.getKey() + "\""),
            RequestBody.create(FILE_TYPE, (File) entry.getValue()));
        } else if (entry.getValue() instanceof String) {

            requestBody.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + entry.getKey() + "\""),
            RequestBody.create(null, (String) entry.getValue()));
        }
    }
}

下面这个转为 json  的时候  给的 MediaType 是 null, 实际上应该是 application/json 

1 回复 有任何疑惑可以回复我~
  • qndroid #1
    赞,写的有点问题。
    回复 有任何疑惑可以回复我~ 2019-09-03 20:29:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信