RestTemplate Put Delete请求

347 阅读1分钟

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动

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 可以说非常容易上手和服务调用,灵活运用,熟练掌握的同时,我们更需要了解它的源码来知道它到底是怎样调用的。