您现在的位置是:课程教程文章

Forest v1.5.3 正式版本发布

2023-12-13 23:08课程教程文章 人已围观

v1.5.3 本版发布了,本次版本更新新增了较多功能,其中有许多重大更新。

1. 新增Forest快捷接口

以前版本使用 Forest,必须先定义一个 interface 接口类,这种形式可以满足大多数情况的场景。 但若想快速访问一个url可能显得不合时宜。 所以本次更新新增了快捷接口,不用再从定义接口开始了。

它大概长这个样子:

//Get请求
//并以String类型接受数据
Stringstr=Forest.get("/").executeAsString();

//Post请求
//并以自定义的MyResult类型接受
MyResultmyResult=Forest
.post("/")
.execute(MyResult.class);

//通过TypeRefernce引用类传递泛型参数
//就可以将响应数据以带复杂泛型参数的类型接受了
Result<List<User>>userList=Forest
.post("/")
.execute(newTypeReferenceList<Result<List<User>>>(){});


//定义各种参数
//并以Map类型接受
Map<String,Object>map=Forest.post("/")
.backend("okhttp3")//设置后端为okhttp3
.contentTypeJson()//设置Content-Type头为application/json
.host("127.0.0.1")//设置地址的host为127.0.0.1
.port(8080)//设置地址的端口为8080
.addBody("a",1)//添加Body项(键值对):a,1
.addBody("b",2)//添加Body项(键值对:b,2
.maxRetryCount(3)//设置请求重试次数为3
//设置onSuccess回调函数
.onSuccess((data,req,res)->{log.info("success!");})
//设置onError回调函数
.onError((ex,req,res)->{log.info("error!");})
//设置请求成功判断条件回调函数
.successWhen((req,res)->res.noException()&&res.statusOk())
//执行并返回Map数据类型对象
.executeAsMap();

2. 请求成功条件/重试条件

@Success 注解

先要定义 SuccessWhen 接口的实现类

publicclassTestSuccessWhenimplementsSuccessWhen{

/**
*请求成功条件
*@paramreqForest请求对象
*@paramresForest响应对象
*@return是否成功
*/
@Override
publicbooleansuccessWhen(ForestRequestreq,ForestResponseres){
//没有异常并且状态码在正常范围并且状态码不等于203
//当然在这里也可以写其它条件,比如通过res.getData()或res.getConent()获取业务数据
//再更具业务数据判断是否成功
returnres.noException()&&res.statusOk()&&res.statusCode()!=203;
}
}

以上就是Forest v1.5.3 正式版本发布的介绍,希望对大家有所帮助。更多精彩内容分享:头条

课程教程:Forest v1.5.3 正式版本发布

上一篇:Javascript如何用原型对象继承父类型

下一篇:没有了

站点信息

  • 文章统计篇文章