Http POST类型的请求,允许发送body到服务器,这也意味着我们可以push任意数据到服务器,NoHttp提供了一下几种方式供开发者选择使用。
提交/上传json
NoHttp提供了两种方式,开发者只需要传入json格式的数据即可,NoHttp会自动修改ContentType
为application/json
。
request.setDefineRequestBodyForJson(JsonString); // 传入json格式的字符串即可。
request.setDefineRequestBodyForJson(JSONObject); // 传入JSONObject即可。
提交/上传xml
开发者只需要传入相应格式的数据即可,NoHttp会自动修改ContentType
为application/xml
。
request.setDefineRequestBodyForXML(XmlString); // 提交xml字符串
提交/上传String
这里因为是自定义格式的数据,需要开发者自行指定body的ContentType
。
request.setDefineRequestBody(String requestBody, String contentType);
提交文件、InputStream等自定义数据
同样的,这里可以传一个InputStream
进去,因为Stream
也属于自定义数据,所以必须传一个ContentType
。
request.setDefineRequestBody(InputStream, ContentType)
如果你们是直接push一个文件上去:
request.setDefineRequestBody(new FileInputStream(file), "application/octet-stream")