forest--声明式HTTP客户端框架-spring-b oot项目整合
最佳答案 问答题库588位专家为你答疑解惑
Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求。
官方链接:
🎁 新手介绍 | Forest
阿丹:
在之前的技术栈中没有涉及到这里,但是在近期的项目中涉及到了http请求的调用。于是学习和使用了新的技术栈。
导入依赖
<dependency><groupId>com.dtflys.forest</groupId><artifactId>forest-spring-boot-starter</artifactId><version>1.5.33</version>
</dependency>
JOSN框架依赖
注意:如果项目中已经存在了json的框架使用那么不需要导入这个依赖
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.73</version>
</dependency>
XML框架依赖
<dependency><groupId>com.dtflys.forest</groupId><artifactId>forest-jaxb</artifactId><version>1.5.33</version></dependency>
spring-boot环境下的简单使用
在上面的依赖导入好了以后就可以进行去构建http请求的接口调用了。
在 Forest 中,所有的 HTTP 请求信息都要绑定到某一个接口的方法上,不需要编写具体的代码去发送请求。请求发送方通过调用事先定义好 HTTP 请求信息的接口方法,自动去执行 HTTP 发送请求的过程,其具体发送请求信息就是该方法对应绑定的 HTTP 请求信息
阿丹:
该说不说!这个方式是什么优雅简单!!!!
快速构建一个GET请求
1、创建一个接口
操作:
使用@Get注解,并且在这个注解value值中写入url
解读一下:
在前面的String说明了这个接口要返回一段字符串来
2、使用!!!你没看错就是直接使用!!!
首先在需要使用的地方使用@Resource直接注入
然后使用的时候直接进行调用即可!!!
3、效果演示!
你别看返回了一个json,但是它其实还是一个字符串,只是使用了测试工具进行了美化。
这个一定要知道!!!
进阶使用!!!!
学习展示一下官方是实例
如何构建请求?
构建请求头
public interface MyClient {@Request(url = "http://localhost:8080/hello/user",headers = "Accept: text/plain")String sendRequest(@Query("uname") String username);
}
上面的sendRequest
方法绑定的 HTTP 请求,定义了 URL 信息,以及把Accept:text/plain
加到了请求头中, 方法的参数String username
绑定了注解@Query("uname")
,它的作用是将调用者传入入参 username 时,自动将username
的值加入到 HTTP 的请求参数uname
中。
请求方法
@Get
、@GetRequest
@Post
、@PostRequest
传输实体文本@Put
、@PutRequest
上传资源@Delete
、@DeleteRequest
删除资源@Options
、@OptionsRequest
询问支持的方法@Trace
、@TraceRequest
追踪路径@Patch
、@PatchRequest
更新资源的某一部分@Request
可动态传入HTTP方法
其中在这个中使用的传递参数的方法是{value}的方式,同时在下面的形参中使用@Var注解的方式来赋值。
若不想在接口定义的时候直接定死为某个具体的 HTTP 请求方法,而是想从全局变量或方法参数中动态传入
可以使用 @Request
请求注解
/*** 通过在 @Request 注解的 type 属性中定义字符串模板* 在字符串模板中引用方法的参数*/
@Request(url = "http://localhost:8080/hello",type = "{type}"
)
String simpleRequest(@Var("type") String type);
在调用改方法时通过参数传入 HTTP 请求方法类型(字符串类型,大小写不敏感)
// POST 请求
String result1 = simpleRequest("post");
// DELETE 请求
String result2 = simpleRequest("DELETE");
更多操作看官网文档很详细
🍭 请求头 | Forest
99%的人还看了
相似问题
- Kotlin学习——kt里的集合,Map的各种方法之String篇
- Office文件在线预览大全-Word文档在线预览的实现方法-OFD文档在线预览-WPS文件在线预览
- composer切换全局镜像源的方法
- Python通过selenium调用IE11浏览器报错解决方法
- 测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发
- Java8新特性 ----- Lambda表达式和方法引用/构造器引用详解
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)
- 类方法,静态方法和实例方法的区别及应用场景
- 【链表的说明、方法---顺序表与链表的区别】
猜你感兴趣
版权申明
本文"forest--声明式HTTP客户端框架-spring-b oot项目整合":http://eshow365.cn/6-9465-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!