代码拉取完成,页面将自动刷新
可配置请求是否成功的条件
例如:
// 当且仅当HTTP响应状态码为 200 ~ 299 范围内时才成功
request.successWhen((req, res) -> res.status_2xx());
此外还可以通过 @Success
注解来定义成功条件
先要定义 SuccessWhen 接口的实现类
public class TestSuccessWhen implements SuccessWhen {
/**
* 请求成功条件
* @param req Forest请求对象
* @param res Forest响应对象
* @return 是否成功
*/
@Override
public boolean successWhen(ForestRequest req, ForestResponse res) {
// 没有异常 并且 状态码在正常范围 并且 状态码不等于203
// 当然在这里也可以写其它条件,比如 通过 res.getData() 或 res.getConent() 获取业务数据
// 再更具业务数据判断是否成功
return res.noException() && res.statusOk() && res.statusCode() != 203;
}
}
在Forest请求接口方法上挂上 @Success
注解
@Get("http://localhost:${port}/")
@Success(condition = TestSuccessWhen.class)
String getData();
若调用 getData() 后,返回的状态码为 203, 就会被认为是请求失败,如果设置了重试次数大于0,就会去执行重试任务。
若没有重试次数可用,则进入 onError