简介:Forest是一个开源的Java HTTP客户端框架,可以将HTTP的所有请求信息绑定到自定义的Interface方法上,来实现通过调用本地接口方法的方式发送HTTP 请求。
为什么使用Forest:
使用Forest就像使用类似Dubbo那样的RPC框架一样,只需要定义接口,调用接口即可,不必关心具体发送HTTP请求的细节。同时将HTTP请求信息与业务代码解耦,方便你统一管理大量HTTP的URL,Header等信息。而请求的调用方完全不必在意HTTP的具体内容,即便该HTTP请求信息发生变更,大多数情况下也不需要修改调用发送请求的代码。
快速上手:
引入maven依赖
定义一个接口,并创建一个方法,用@Request注解修饰
public interface MyClient { @Request("http://localhost:8080/hello") String helloForest(); } `` 在启动类上加上@ForestScan注解,并在basePackages属性里填上远程接口所在的包名. ```java @SpringBootApplication @ForestScan(basePackages = "com.demo.forest") public class JavademoApplication { public static void main(String[] args) { SpringApplication.run(JavademoApplication.class, args); } }
Forest会扫描@ForestScan注解中basePackages属性置顶的包下面所有的接口,然后会将符合条件的接口进行动态代理并注入到Spring的上下文中。
然后便能在其他代码从Spring上下文注入接口实例,然后如调用普通接口那样调用。
@Component public class MyService { @Autowired private MyClient myClient; public void testClient(){ String result = myClient.helloForest(); System.out.println(result); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)