TFdream / blog

个人技术博客,博文写在 Issues 里。
Apache License 2.0
129 stars 18 forks source link

spring-boot项目整合Retrofit最佳实践 #325

Open TFdream opened 3 years ago

TFdream commented 3 years ago

原文链接 【芋道源码】:https://mp.weixin.qq.com/s/l0iSX-LBym5M1PQM9pp41Q

在SpringBoot项目直接使用okhttp、httpClient或者RestTemplate发起HTTP请求,既繁琐又不方便统一管理。因此,在这里推荐一个适用于SpringBoot项目的轻量级HTTP客户端框架retrofit-spring-boot-starter,使用非常简单方便,同时又提供诸多功能增强。目前项目已经更新至2.2.2版本,并且会持续进行迭代优化。

前言

Retrofit是适用于Android和Java且类型安全的HTTP客户端,其最大的特性的是支持通过接口的方式发起HTTP请求 。而spring-boot是使用最广泛的Java开发框架,但是Retrofit官方没有支持与spring-boot框架快速整合,因此我们开发了retrofit-spring-boot-starter

retrofit-spring-boot-starter实现了Retrofit与spring-boot框架快速整合,并且支持了诸多功能增强,极大简化开发 。

🚀项目持续优化迭代。

功能特性

快速使用

引入依赖

<dependency>
    <groupId>com.github.lianjiatech</groupId>
    <artifactId>retrofit-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>

定义http接口

接口必须使用@RetrofitClient注解标记 !http相关注解可参考官方文档:retrofit官方文档。

@RetrofitClient(baseUrl = "${test.baseUrl}")
public interface HttpApi {

    @GET("person")
    Result<Person> getPerson(@Query("id") Long id);
}

注入使用

将接口注入到其它Service中即可使用!

@Service
public class TestService {

    @Autowired
    private HttpApi httpApi;

    public void test() {
        // 通过httpApi发起http请求
    }
}