- package org.springframework.web.client;
方法
get
- public T getForObject(String url, Class responseType, Object… uriVariables)
- public T getForObject(String url, Class responseType, Map<String, ?> uriVariables)
- public T getForObject(URI url, Class responseType)
- public ResponseEntity getForEntity(String url, Class responseType, Object… uriVariables)
- public ResponseEntity getForEntity(String url, Class responseType, Map<String, ?> uriVariables)
- public ResponseEntity getForEntity(URI url, Class responseType)
post
- public URI postForLocation(String url, @Nullable Object request, Object… uriVariables)
- public URI postForLocation(String url, @Nullable Object request, Map<String, ?> uriVariables)
- public URI postForLocation(URI url, @Nullable Object request)
- public T postForObject(String url, @Nullable Object request, Class responseType,Object… uriVariables)
- public T postForObject(String url, @Nullable Object request, Class responseType, Map<String, ?> uriVariables)
- public T postForObject(URI url, @Nullable Object request, Class responseType)
- public ResponseEntity postForEntity(String url, @Nullable Object request,
Class responseType, Object… uriVariables) - public ResponseEntity postForEntity(String url, @Nullable Object request,
Class responseType, Map<String, ?> uriVariables) - public ResponseEntity postForEntity(URI url, @Nullable Object request, Class responseType)
post请求携带参数
public Object getObj(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE));
Map<String, Object> param = new HashMap<String, Object>();
hashMap.put("参数1", "值1");
hashMap.put("参数2", "值2");
HttpEntity<Map<String,Object>> httpEntity = new HttpEntity<>(param,httpHeaders);
Object forObject = restTemplate.postForEntity("127.0.0.1/brand",httpEntity,Object.class);
return forObject;
}
重定向
public URI postForLocation 返回URI功能:重定向使用
- 服务提供者
@PostMapping("postLocation")
public URI postLocation(@RequestBody Person person, HttpServletResponse response) throws URISyntaxException {
URI url = new URI("https://www.vaidu.com/s?wd=" + person.getName().trim());
response.addHeader("Location", url.toString());
return url;
}
- 服务调用者
/**
* 重定向测试
*
* @return
*/
@RequestMapping("/postLocation")
public Object postLocation(HttpServletResponse response) throws IOException {
String trueUrl = url + "/postLocation";
Map<String, String> map = new HashMap<>();
map.put("name", "哇哈哈");
URI uri = restTemplate.postForLocation(trueUrl, map);
response.sendRedirect(uri.toString());
return null;
}
delete
- public void delete(String url, Object… uriVariables)
- public void delete(String url, Map<String, ?> uriVariables)
- public void delete(URI url)
参数释义
参数 | 解释 |
---|---|
String url | 请求地址 |
Class responseType | 返回值类型 |
Object… uriVariables | 请求参数 |
Object request | body或者 head+body |
拦截器
所有发送的请求与接收的请求都会被拦截(请求本应用的与本应用发出的)