【Diary】【2018-10-20】【RestTemplate详解】

1.Get请求

第一种:getForEntity

getForEntity函数,该方法返回的是ResponseEntity,该对象是SpringHttp请求响应的封装,其中封装了Http的几个重要元素,比如Http请求状态码的枚举对象HttpStatus,还有Http的请求头。

RestTemplate rest=new RestTemplate();

ResponseEntity(T) response=rest.getEntity(url,T,para);

T t=response.getBody();

getEntity共实现了三个实现方法:

a.getEntity(String Url,Class responseType,Object ... urlVariables);

url为请求服务地址,type为body的包装类型,urlVariables为一个参数的数组,具体用法如下:

http:/url?name={1},由于urlVariables为一个数组,它会依次填充。

b.getForEntity(String Url,Class responseType,Map urlVariables);

跟上个实现方法的区别在于,第三个参数是Map,使用方法如下:

//参数
Map<String> map=new HashMap<String>();

map.put("para",para);

http:/url?name={para}

c.getForEntity(String Url,Class responseType)

第三种方式使用了java.net底下的UriComponents,具体使用方法百度,在此贴出链接:https://blog.csdn.net/neweastsun/article/details/80821524

第二种:getForObject

getObject是对于getEntity的二次封装,它通过HttpMessageConverterExtractor对Http请求响应体body内容进行对象转换。使用方法类似于三个上面的方法。

2.Post请求:

post请求跟request请求类似都有三个方法实现:

a.postForEntity(String url,Object request,Class reponseType,Object...uriVariables);

b.postForEntity(String url,Object request,Class reponseType,Map uriVariables);

c.postForEntity(String url,Object request,Class reponseType);

跟get请求的方法类似,uriVariables对于url请求参数的绑定。

postForObject跟get请求方法类似

与get请求不同的地方在于post提供了postForLocation函数,将提交的post请求,并且返回新资源的uri.

同时也拥有三个重载方法,跟上面三个类似。

PUT请求

put请求的三个方法同上类似,只不过put请求为viod类型

a.put(String url,Object request,Object...urlVariables);

b.put(String url,Object request,Map urlVariables);

c.put(String url,Object request);

DELETE请求

delete同上也有三个不同的请求方法,因为delete方法通常把唯一标识拼接在url中,所以delete一般不需要request请求参数

a.delete(String url,Object...urlVariables);

b.delete(String url,Map urlVariables);

c.delete(String url);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值