本篇文章給大家分享的是有關(guān)Forest v1.5.3正式版本中新增了哪些功能,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)公司是專業(yè)的樅陽網(wǎng)站建設(shè)公司,樅陽接單;提供做網(wǎng)站、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行樅陽網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
v1.5.3 本版發(fā)布了,本次版本更新新增了較多功能,其中有許多重大更新。
1. 新增Forest快捷接口
以前版本使用 Forest,必須先定義一個(gè) interface 接口類,這種形式可以滿足大多數(shù)情況的場(chǎng)景。 但若想快速訪問一個(gè)url可能顯得不合時(shí)宜。 所以本次更新新增了快捷接口,不用再從定義接口開始了。
它大概長這個(gè)樣子:
// Get請(qǐng)求 // 并以 String 類型接受數(shù)據(jù) String str = Forest.get("/").executeAsString(); // Post請(qǐng)求 // 并以自定義的 MyResult 類型接受 MyResult myResult = Forest .post("/") .execute(MyResult.class); // 通過 TypeRefernce 引用類傳遞泛型參數(shù) // 就可以將響應(yīng)數(shù)據(jù)以帶復(fù)雜泛型參數(shù)的類型接受了 Result> userList = Forest .post("/") .execute(new TypeReferenceList
>>() {}); // 定義各種參數(shù) // 并以 Map 類型接受 Map map = Forest.post("/") .backend("okhttp3") // 設(shè)置后端為 okhttp3 .contentTypeJson() // 設(shè)置 Content-Type 頭為 application/json .host("127.0.0.1") // 設(shè)置地址的host為 127.0.0.1 .port(8080) // 設(shè)置地址的端口為 8080 .addBody("a", 1) // 添加 Body 項(xiàng)(鍵值對(duì)): a, 1 .addBody("b", 2) // 添加 Body 項(xiàng)(鍵值對(duì): b, 2 .maxRetryCount(3) // 設(shè)置請(qǐng)求最大重試次數(shù)為 3 // 設(shè)置 onSuccess 回調(diào)函數(shù) .onSuccess((data, req, res) -> { log.info("success!"); }) // 設(shè)置 onError 回調(diào)函數(shù) .onError((ex, req, res) -> { log.info("error!"); }) // 設(shè)置請(qǐng)求成功判斷條件回調(diào)函數(shù) .successWhen((req, res) -> res.noException() && res.statusOk()) // 執(zhí)行并返回Map數(shù)據(jù)類型對(duì)象 .executeAsMap();
2. 請(qǐng)求成功條件/重試條件
@Success 注解
先要定義 SuccessWhen 接口的實(shí)現(xiàn)類
public class TestSuccessWhen implements SuccessWhen { /** * 請(qǐng)求成功條件 * @param req Forest請(qǐng)求對(duì)象 * @param res Forest響應(yīng)對(duì)象 * @return 是否成功 */ @Override public boolean successWhen(ForestRequest req, ForestResponse res) { // 沒有異常 并且 狀態(tài)碼在正常范圍 并且 狀態(tài)碼不等于203 // 當(dāng)然在這里也可以寫其它條件,比如 通過 res.getData() 或 res.getConent() 獲取業(yè)務(wù)數(shù)據(jù) // 再更具業(yè)務(wù)數(shù)據(jù)判斷是否成功 return res.noException() && res.statusOk() && res.statusCode() != 203; } }
以上就是Forest v1.5.3正式版本中新增了哪些功能,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。