SpringBoot RestTemplate使用详解

RestTemplate 是 Spring Restful Client 用于调用restful接口

HTTP Restful   SpringCloud  微服务 

SpringCloud服务调用有两种方式:restTemplate和Fegin

RPC-->Dubbo

RestTemplate API使用方法

HTTP method

RestTemplate methods

DELETE

delete(java.lang.String, java.lang.Object...)

GET

getForObject(java.lang.String, java.lang.Class, java.lang.Object...)

 

getForEntity(java.lang.String, java.lang.Class, java.lang.Object...)

HEAD

headForHeaders(java.lang.String, java.lang.Object...)

OPTIONS

optionsForAllow(java.lang.String, java.lang.Object...)

POST

postForLocation(java.lang.String, java.lang.Object, java.lang.Object...)

 

postForObject(java.lang.String, java.lang.Object, java.lang.Class, java.lang.Object...)

PUT

put(java.lang.String, java.lang.Object, java.lang.Object...)

any

exchange(java.lang.String, org.springframework.http.HttpMethod, org.springframework.http.HttpEntity, java.lang.Class, java.lang.Object...)

 

execute(java.lang.String, org.springframework.http.HttpMethod, org.springframework.web.client.RequestCallback, org.springframework.web.client.ResponseExtractor, java.lang.Object...)

public <T> T getForObject(String url, Class<T> responseType)
参数一:URL调用地址
参数二:调用返回值类型

@RequestMapping(value = "/list")
    public List<User> list() {
        return restTemplate.getForObject(userServiceUrl + "/list", List.class);
    }
public <T> T getForObject(String url, Class<T> responseType, Object... uriVariables) 
参数一:URL调用地址
参数二:调用返回值类型
参数三:参数值列表

使用占位符,传递参数,在get后加{1},参数会自动替换占位符

 @RequestMapping(value = "/getOne")
    public User list2() {
        User params = new User();
        params.setId(2L);
       // User user = restTemplate.getForObject(userServiceUrl + "/get/{1}", User.class, params.getId());
User user = restTemplate.getForObject(userServiceUrl + "/get/"+params.getId(), User.class);
        return user;
    }

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

使用map,传递参数,需要在URL后拼接服务端参数名及map中key的名称,如果key在map中没有则会报异常

 

 

 

 

 

Spring Boot RestTemplate是一个用于访问RESTful服务的Java HTTP客户端库。它提供了多种方法来发送HTTP请求并处理响应。在使用RestTemplate时,可以使用不同的方法来实现不同类型的请求,如GET、POST、PUT和DELETE请求。 引用展示了使用exchange方法执行DELETE请求的代码示例。在这个示例中,首先创建一个RestTemplate对象,并指定要访问的URL。然后,使用exchange方法发送DELETE请求,并将响应保存在ResponseEntity对象中。 引用展示了直接调用delete方法执行DELETE请求的代码示例。与exchange方法不同的是,delete方法没有返回值,只是发送了一个DELETE请求。 除了上述方法外,还可以使用其他方法来发送不同类型的请求,如GET、POST和PUT。可以根据具体的需求选择合适的方法。 在发送请求时,还可以使用RequestCallback接口来定制HTTP请求。如引用中所示,RequestCallback接口可以设置请求头、请求体和查询字符串参数等。 综上所述,Spring Boot RestTemplate是一个功能强大的HTTP客户端库,可以帮助我们轻松地发送不同类型的HTTP请求并处理响应。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot整合RestTemplate用法讲解(完整详细)](https://blog.youkuaiyun.com/HJW_233/article/details/131582451)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值