SpringBoot中RestTemplate 发送http请求
引入fastjson
<!--fastjson-->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.47</version>
</dependency>
创建配置文件
新建config
包,并写入以下内容,在spring启动时加载bean到ioc容器中
@Configuration
public class RestTemplateConfig {@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}
发送请求
请求为:https://jsonplaceholder.typicode.com/todos/1
创建UserVo类
方便之后使用方法返回作为转换类型
@Data
public class UserVo {private Integer userId;private Integer id;private String title;private Boolean completed;
}
ResponseEntity
加入UserVo泛型,在response返回中状态码有2xx和3xx等几种类型的返回状态码使用非常方便。
@Test
void contextLoads() {// 发送请求ResponseEntity<UserVo> response = restTemplate.exchange("https://jsonplaceholder.typicode.com/todos/1",HttpMethod.GET,null,new ParameterizedTypeReference<>() {});// 判断状态码if (response.getStatusCode().is2xxSuccessful() || response.getStatusCode().is3xxRedirection()) {UserVo body = response.getBody();// 输出转成JSONSystem.out.println(JSON.toJSON(body));}
}