SpringBoot中RestTemplate 发送http请求

SpringBoot中RestTemplate 发送http请求

引入fastjson

xml 复制代码
<!--fastjson-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.47</version>
</dependency>

创建配置文件

新建config包,并写入以下内容,在spring启动时加载bean到ioc容器中

java 复制代码
@Configuration
public class RestTemplateConfig {
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

发送请求

请求为:https://jsonplaceholder.typicode.com/todos/1

创建UserVo类

方便之后使用方法返回作为转换类型

java 复制代码
@Data
public class UserVo {
    private Integer userId;
    private Integer id;
    private String title;
    private Boolean completed;
}

ResponseEntity加入UserVo泛型,在response返回中状态码有2xx和3xx等几种类型的返回状态码使用非常方便。

java 复制代码
@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();
        // 输出转成JSON
        System.out.println(JSON.toJSON(body));
    }
}
相关推荐
大熊程序猿37 分钟前
ASP.NET Core 认证授权:JWT与OAuth2实战
后端·asp.net
野熊佩骑1 小时前
一文读懂Nginx 之 Ubuntu使用apt方式安装Nginx官方最新版本
linux·运维·服务器·nginx·ubuntu·http
zhangxingchao1 小时前
AI应用开发五:RAG高级技术与调优
前端·人工智能·后端
海兰1 小时前
【第54篇】Graph + Langfuse 可观测性实战
java·人工智能·spring boot·spring ai
知彼解己1 小时前
Go 开发环境 安装
后端·golang
snakeshe10101 小时前
SpringBoot 多人协作平台实战(7):完善登录模块 —— Spring 注解体系与密码加密实践
后端
Amazing53071 小时前
Redis 7配置的三个隐藏陷阱
后端
Ting-yu1 小时前
Spring AI Alibaba零基础速成(2) ---- Ollama安装与使用
java·后端·spring·ai
qq_5470261791 小时前
SpringBoot + Redis 电商秒杀完整方案
spring boot·redis·后端
会编程的吕洞宾2 小时前
Spring_Boot_3_3_的___Transactional__
java·后端·spring