天天看點

如何正确使用RestTemplate【六】

複習一下下

上篇文章,我們學習了HEAD請求的相關方法的使用方法,以及具體參數的不同,當然還有一些代碼示例、使用場景等等,你是否還有些印象呢?

RestTemplate今日知識

今天我們來學習POST請求的使用方法,來共同學習一下吧。

請求方法參數分析

POST請求

共有參數介紹:

url:通路連結Url,不過多解釋。

request:用于傳輸要新增的資源對象,比如一個使用者User對象。

responseType:傳回響應的參數類型,比如,傳回的參數是個List,那麼這個參數就應該傳List.class。

uriVariables:url關聯的一些參數

postForLocation

1.

public URI postForLocation(String url, Object request, Object... uriVariables)

此方法需要傳輸url、請求對象、參數值三個參數,直接上代碼示例:

User user = new User(1, 'username', 22);
URI uri = restTemplate.postForLocation(url, user, "first param","two param");      

2.

public URI postForLocation(String url, Object request, Map<String, ?> uriVariables)

此方法需要傳輸url、請求對象、Map參數值三個參數,直接上代碼示例:

Map<String,String> map = new HashMap<>;
map.put("Frist","first param");
map.put("Two","two param");
User user = new User(1, 'username', 22);
URI uri = restTemplate.postForLocation(url, user, map);      

3.

public URI postForLocation(URI url, Object request)

此方法需要傳輸url和請求對象即可。

postForObject

public <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables)

此方法需要傳輸url、請求對象、傳回參數類型class、參數值四個參數,直接上代碼示例:

User user = new User(1, 'username', 22);
List list = restTemplate.postForObject(url, user, List.class, "first param","two param");      

public <T> T postForObject(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)

Map<String,String> map = new HashMap<>;
map.put("Frist","first param");
map.put("Two","two param");
User user = new User(1, 'username', 22);
List list = restTemplate.postForObject(url, user, List.class, map);      

public <T> T postForObject(URI url, Object request, Class<T> responseType)

此方法需要傳輸url、請求對象、傳回參數類型class、參數值三個參數

getForEntity

getForEntiy,除了傳回的參數的不同之外,沒有什麼的差別,不做過多的解釋,給個代碼示例自己學習吧。

public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Object... uriVariables)

User user = new User(1, 'username', 22);
ResponseEntity<List> entity = restTemplate.postForEntity(url, user, List.class,"first param","two param");
System.out.println(entity.getBody());      

public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)

Map<String,String> map = new HashMap<>;
map.put("Frist","first param");
map.put("Two","two param");
User user = new User(1, 'username', 22);
ResponseEntity<List> entity = restTemplate.postForEntity(url, user, List.class, map);
System.out.println(entity.getBody());      

public <T> ResponseEntity<T> postForEntity(URI url, Object request, Class<T> responseType)

這個就不用說了吧,哈哈哈哈。

使用場景

POST請求的使用場景太多了,在這就不贅述了。

小結

今天我們又學習了POST請求相關方法的使用方式,你是否有所收獲呢?

繼續閱讀