Version: Next

快速上手

在 Forest 依赖加入好之后,就可以构建 HTTP 请求的接口了。

在 Forest 中,所有的 HTTP 请求信息都要绑定到某一个接口的方法上,不需要编写具体的代码去发送请求。请求发送方通过调用事先定义好 HTTP 请求信息的接口方法,自动去执行 HTTP 发送请求的过程,其具体发送请求信息就是该方法对应绑定的 HTTP 请求信息。

Hello World

创建一个interface,比如命名为MyClient,并创建一个接口方法名为helloForest,用@Request注解修饰之。

src/main/java/com/yoursite/client/MyClient.java
public interface MyClient {
@Request(url = "http://localhost:5000/hello")
String helloForest();
}

通过@Request注解,将上面的MyClient接口中的simpleRequest()方法绑定了一个 HTTP 请求, 其 URL 为http://localhost:5000/hello ,并默认使用GET方式,且将请求响应的数据以String的方式返回给调用者。

发送请求

若您已有定义好的 Forest 请求接口(比如名为 com.yoursite.client.MyClient),那就可以开始愉快使用它了。

在 Spring Boot 项目中调用接口

只要在Spring Boot的配置类或者启动类上加上@ForestScan注解,并在basePackages属性里填上远程接口的所在的包名

src/main/java/MyApp.java
@SpringBootApplication
@Configuration
@ForestScan(basePackages = "com.yoursite.client")
public class MyApp {
...
}

Forest 会扫描@ForestScan注解中basePackages属性指定的包下面所有的接口,然后会将符合条件的接口进行动态代理并注入到 Spring 的上下文中。

然后便能在其他代码中从 Spring 上下文注入接口实例,然后如调用普通接口那样调用即可。

@Component
public class MyService {
@Autowired
private MyClient myClient;
public void testClient() {
String result = myClient.helloForest();
System.out.println(result);
}
}

在非 Spring Boot 项目中调用接口

通过ForestConfiguration的静态方法createInstance(Class clazz)实例化接口,然后如调用普通接口那样调用即可。

MyClient myClient = configuration.createInstance(MyClient.class);
...
String result = myClient.simpleRequest();
System.out.println(result);
Last updated on