场景
Forest
声明式HTTP客户端API框架,让Java发送HTTP/HTTPS请求不再难。它比OkHttp和HttpClient更高层,
是封装调用第三方restful api client接口的好帮手,是retrofit和feign之外另一个选择。
通过在接口上声明注解的方式配置HTTP请求接口。
官网:
代码地址:
Forest的功能较多,下面记录一个比较常用的功能,就是调用第三方api获取数据,并将json数据解析成对象。
注:
博客:
霸道流氓气质的博,SpringBoot领域博主
实现
1、需要事先模拟一个第三方api的接口,各种方式均可,除了代码编写、nginx代理等还可以使用如下方式
HTTP JSON接口模拟工具interfake的使用(模拟接口返回json数据):
HTTP JSON接口模拟工具interfake的使用(模拟接口返回json数据)_霸道
按照上面的过程并修改模拟数据的js文件内容为
var Interfake = require('interfake');
var interfake = new Interfake();
interfake.get('/badao').status(200)
.body(
{
"id": 123,
"name": "霸道的程序猿",
"age": 100,
"address":"青岛",
"banji":"一班"
}
);
interfake.get('/badaoStu').status(200)
.body(
{
"id": 123,
"name": "霸道的程序猿",
"age": 100,
"address":"青岛",
"banji":"一班"
}
);
确保该接口可以用
2、搭建SpringBoot项目
若依前后端分离版手把手教你本地搭建环境并运行项目:
在上面的基础搭建之后,开始集成Forest。
3、SpringBoot项目中添加依赖
<dependency>
<groupId>com.dtflys.forest</groupId>
<artifactId>forest-spring-boot-starter</artifactId>
<version>1.5.30</version>
</dependency>
当前版本为1.5.30。
若依框架已经自带json数据的解析依赖。
然后修改配置文件yml,添加forest的相关配置
#Forest 全局配置
forest:
backend: okhttp3 # 后端HTTP框架(默认为 okhttp3)
max-connections: 1000 # 连接池最大连接数(默认为 500)
max-route-connections: 500 # 每个路由的最大连接数(默认为 500)
max-request-queue-size: 100 # [自v1.5.22版本起可用] 最大请求等待队列大小
max-async-thread-size: 300 # [自v1.5.21版本起可用] 最大异步线程数
max-async-queue-size: 16 # [自v1.5.22版本起可用] 最大异步线程池队列大小
timeout: 3000 # [已不推荐使用] 请求超时时间,单位为毫秒(默认为 3000)
connect-timeout: 3000 # 连接超时时间,单位为毫秒(默认为 timeout)
read-timeout: 3000 # 数据读取超时时间,单位为毫秒(默认为 timeout)
max-retry-count: 0 # 请求失败后重试次数(默认为 0 次不重试)
ssl-protocol: TLS # 单向验证的HTTPS的默认TLS协议(默认为 TLS)
log-enabled: true # 打开或关闭日志(默认为 true)
log-request: true # 打开/关闭Forest请求日志(默认为 true)
log-response-status: true # 打开/关闭Forest响应状态日志(默认为 true)
log-response-content: true # 打开/关闭Forest响应内容日志(默认为 false)
async-mode: platform # [自v1.5.27版本起可用] 异步模式(默认为 platform)
更多详细配置参考官方文档
标签:HTTP,SpringBoot,true,接口,name,默认,restful,public,Forest From: https://blog.51cto.com/BADAOLIUMANGQZ/6215464