小知识,大挑战!本文正在参与「程序员必备小知识」创作活动
3RestTemplate Put Delete请求
Put请求
对PUT请求可以通过put方法进行调用实现
put方法有三种不同重载方法:
@Override
public void put(String url, Object request, Object... urlVariables) throws RestClientException {
RequestCallback requestCallback = httpEntityCallback(request);
execute(url, HttpMethod.PUT, requestCallback, null, urlVariables);
}
@Override
public void put(String url, Object request, Map<String, ?> urlVariables) throws RestClientException {
RequestCallback requestCallback = httpEntityCallback(request);
execute(url, HttpMethod.PUT, requestCallback, null, urlVariables);
}
@Override
public void put(URI url, Object request) throws RestClientException {
RequestCallback requestCallback = httpEntityCallback(request);
execute(url, HttpMethod.PUT, requestCallback, null);
}
put请求void类型,没有返回内容,也就没有其他函数定义的responseType参数,除此之外的其他传入参数定义与用法与postForObject基本一致。
Delete请求
对DELETE请求可以通过delete方法进行调用实现:
delete方法有三种不同重载方法:
// DELETE
@Override
public void delete(String url, Object... urlVariables) throws RestClientException {
execute(url, HttpMethod.DELETE, null, null, urlVariables);
}
@Override
public void delete(String url, Map<String, ?> urlVariables) throws RestClientException {
execute(url, HttpMethod.DELETE, null, null, urlVariables);
}
@Override
public void delete(URI url) throws RestClientException {
execute(url, HttpMethod.DELETE, null, null);
}
通常DELETE请求的唯一标识拼接在url中,所以DELETE请求也不需要request的body信息,非常简单。url指定DELETE请求的位置,urlVariables绑定url中的参数即可。
这就是RestTemplate Put请求和Delete请求,基于RestFul风格,其实我们生产中经常用到的还是get请求和post请求,RestTemplate 可以说非常容易上手和服务调用,灵活运用,熟练掌握的同时,我们更需要了解它的源码来知道它到底是怎样调用的。