`

Spring RestTemplate 之exchange方法

 
阅读更多
Spring RestTemplate 之exchange方法

●exchange方法提供统一的方法模板进行四种请求:POST,PUT,DELETE,GET

(1)POST请求

String reqJsonStr = "{\"code\":\"testCode\", \"group\":\"testGroup\",\"content\":\"testContent\", \"order\":1}";
HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<String>(reqJsonStr,headers);
ResponseEntity<Map> resp = restTemplate.exchange(DIC_DATA_URL, HttpMethod.POST, entity, Map.class);
(2)PUT请求

复制代码
String reqJsonStr = "{\"id\":227,\"code\":\"updateCC\", \"group\":\"UPDATE\",\"content\":\"updateCT\", \"order\":9}";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<String>(reqJsonStr,headers);
ResponseEntity<Map> resp = restTemplate.exchange(DIC_DATA_URL, HttpMethod.PUT, entity, Map.class);
复制代码
(3)DELETE请求

ResponseEntity<Map> resp = restTemplate.exchange(DIC_DATA_URL + "?id={id}", HttpMethod.DELETE, null, Map.class, 227);
(4)GET请求

ResponseEntity<String> results = restTemplate.exchange(url,HttpMethod.GET, null, String.class, params);
说明:1)url: 请求地址;
     2)method: 请求类型(如:POST,PUT,DELETE,GET);
     3)requestEntity: 请求实体,封装请求头,请求内容
     4)responseType: 响应类型,根据服务接口的返回类型决定
     5)uriVariables: url中参数变量值




https://www.cnblogs.com/jnba/p/10522608.html



Demo

@SuppressWarnings("all")
    public String sendPost(String url,Object param){
        String jsonParam = JSON.toJSONString(param);
        String accessToken = getAccessToken(jsonParam);
        HttpHeaders requestHeaders = new HttpHeaders();
        requestHeaders.add("kye", kye);
        requestHeaders.add("Content-Type", "application/json;charset=UTF-8");
        requestHeaders.add("access-token", accessToken);
        HttpEntity<String> requestEntity = new HttpEntity<String>(jsonParam, requestHeaders);
        ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
        String result = response.getBody();
        return result;


    }

分享到:
评论

相关推荐

    springRestTemplate

    - 使用 `exchange()` 或 `execute()` 方法发起请求,这两个方法都需要提供一个 URI 和请求方法。 - 设置请求头和参数。 - 处理响应,如将响应体转换为所需的对象。 6. **在 Spring Boot 中使用 RestTemplate** ...

    Spring RestTemplate基本使用介绍

    为了演示 RestTemplate 的使用,我们创建两个 Spring Boot 项目,一个 provider 作为 server 端,一个 consumer 作为服务调用方法。 API 方法介绍 RestTemplate 提供了多种 API 方法来访问远程 HTTP 服务,下面...

    Spring cloud restTemplate 传递复杂参数的方式(多个对象)

    Spring Cloud RestTemplate 传递复杂参数的方式(多个对象) 在微服务架构中,服务之间的调用是一个非常重要的问题。Spring Cloud 提供了 Feign 接口调用和 RestTemplate 调用的方式。在这篇文章中,我们主要介绍了 ...

    精讲RestTemplate自定义请求失败异常处理.docx

    在使用Spring框架中的`RestTemplate`进行HTTP请求时,我们可能会遇到各种异常情况,如服务超时、服务不存在等,这些异常通常会导致程序中断,无法继续执行后续代码。在这种情况下,我们希望即使请求失败,也能获取到...

    spring rest mvc使用RestTemplate调用

    - **GET请求**:使用`exchange()`或`getForEntity()`方法。例如,获取JSON数据: ```java ResponseEntity&lt;String&gt; response = restTemplate.getForEntity(url, String.class); ``` - **POST请求**:使用`...

    SpringCloud简单使用RestTemplate调用对方的服务

    4. **发送请求**:使用`RestTemplate`的方法(如`exchange`, `getForObject`, `postForEntity`等)发送HTTP请求。例如,使用`getForObject`方法获取GET请求的响应。 ```java ResponseEntity&lt;String&gt; response = ...

    Springboot RestTemplate 简单使用解析

    该类使用 Spring 的 RestTemplate 类来调用 RESTful 服务。 GET 请求 GET 请求是最基本的 HTTP 请求方法,用于获取资源。RestTemplateUtil 中的 GetData 方法提供了 GET 请求的实现。该方法使用 RestTemplate 的 ...

    使用RestTemplate进行feignclient调用

    虽然 RestTemplate 不直接支持 Hystrix,但你可以通过包装 RestTemplate 的方法调用来实现。创建一个类,里面包含对 RestTemplate 的包装,然后在方法上添加 `@HystrixCommand` 注解来启用断路器保护: ```java @...

    RestTemplate如何通过HTTP Basic Auth认证.docx

    RestTemplate 是 Spring 提供的一个用于发送 HTTP 请求的客户端工具,它可以方便地进行 GET、POST 等各种 HTTP 方法的操作。在涉及到需要身份验证的场景,比如 HTTP Basic Auth,RestTemplate 也能很好地支持。 ...

    RestTemplate实现服务间调用demo案例

    3. **构建请求**:使用RestTemplate的`exchange()`、`getForObject()`、`postForEntity()`等方法构造请求。例如,调用服务A的`/api/user`接口获取用户信息: ```java ResponseEntity&lt;UserInfo&gt; response = ...

    Spring Boot RestTemplate提交表单数据的三种方法

    在Spring Boot应用中,RestTemplate是一个非常实用的工具,它允许我们方便地与RESTful服务进行交互。本文将详细介绍如何使用RestTemplate提交表单数据,包括三种不同的方法,并讨论表单提交与Payload提交的区别。 ...

    RestTemplate例子

    下面将详细讨论`RestTemplate`的核心概念、用途、使用方法以及其在实际开发中的应用。 `RestTemplate`是Spring的一个核心组件,它支持GET、POST、PUT、DELETE等HTTP操作,并提供了丰富的自定义选项以适应各种复杂的...

    http、restTemplate请求资源(含带头部信息)

    在Java开发中,`RestTemplate`是Spring框架提供的一种方便的发送HTTP请求的工具,可以用来执行GET、POST等各种HTTP方法,并处理响应。 首先,我们来详细了解GET和POST两种HTTP请求方法: 1. GET请求:GET是最常见...

    RestTemplate的使用及需要注意的地方

    对于POST请求,你可以使用`postForEntity`或`exchange`方法。例如,向服务器提交JSON数据: ```java HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); ...

    Spring Boot使用RestTemplate消费REST服务的几个问题记录

    在使用RestTemplate时,需要注意两个较为“灵活”的方法exchange和execute。 问题记录 在使用RestTemplate调用REST服务时,可能会遇到一些问题,如上传文件至分布式文件系统、处理带证书的https请求等。本文记录了...

    Spring+高德API

    3. **调用高德API**:使用RestTemplate的exchange、getForObject、postForEntity等方法发送GET或POST请求。对于查询IP所在地,高德API可能有一个URL,接收IP作为参数,返回地理位置信息。 ```java String ipAddress...

    spring-android-samples

    在"spring-android-samples"中,可以看到如何使用`RestTemplate`发送和接收JSON数据,如使用`exchange`方法配合`HttpEntity`对象发送JSON请求,以及解析JSON响应。 四、案例展示 "spring-android-samples-master...

    基于RestTemplate的使用方法(详解)

    `postForObject` 是`RestTemplate` 的核心方法之一,用于执行POST请求,并将响应转换为指定的对象。主要有两种使用方式: #### (1) 传入业务对象 ```java BaseUser baseUser = new BaseUser(); baseUser.setUserid...

    SpringBoot中RestTemplate和WebClient的使用区别及优缺点含完整代码

    在这个例子中,我们创建了一个`RestTemplate`实例,并通过`exchange`方法发送一个带有自定义头部的POST请求。需要注意的是,这里的请求是同步的,即程序会等待服务器响应完成后才会继续执行。 ##### 2. WebClient的...

Global site tag (gtag.js) - Google Analytics