# 目錄
[TOC]
Http POST類型的請求,允許發送body到服務器,這也意味著我們可以push任意數據到服務器,NoHttp提供了一下幾種方式供開發者選擇使用。
## 提交/上傳json
NoHttp提供了兩種方式,開發者只需要傳入json格式的數據即可,NoHttp會自動修改`ContentType`為`application/json`。
```java
request.setDefineRequestBodyForJson(JsonString); // 傳入json格式的字符串即可。
request.setDefineRequestBodyForJson(JSONObject); // 傳入JSONObject即可。
```
## 提交/上傳xml
開發者只需要傳入相應格式的數據即可,NoHttp會自動修改`ContentType`為`application/xml`。
```java
request.setDefineRequestBodyForXML(XmlString); // 提交xml字符串
```
## 提交/上傳String
這里因為是自定義格式的數據,需要開發者自行指定body的`ContentType`。
```java
request.setDefineRequestBody(String requestBody, String contentType);
```
## 提交文件、InputStream等自定義數據
同樣的,這里可以傳一個`InputStream`進去,因為`Stream`也屬于自定義數據,所以必須傳一個`ContentType`。
```java
request.setDefineRequestBody(InputStream, ContentType)
```
如果你們是直接push一個文件上去:
```java
request.setDefineRequestBody(new FileInputStream(file), "application/octet-stream")
```