您现在的位置是:课程教程文章
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 正式版本发布下一篇:没有了