您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Forest v1.5.3正式版本中新增了哪些功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
v1.5.3 本版發布了,本次版本更新新增了較多功能,其中有許多重大更新。
1. 新增Forest快捷接口
以前版本使用 Forest,必須先定義一個 interface 接口類,這種形式可以滿足大多數情況的場景。 但若想快速訪問一個url可能顯得不合時宜。 所以本次更新新增了快捷接口,不用再從定義接口開始了。
它大概長這個樣子:
// Get請求 // 并以 String 類型接受數據 String str = Forest.get("/").executeAsString(); // Post請求 // 并以自定義的 MyResult 類型接受 MyResult myResult = Forest .post("/") .execute(MyResult.class); // 通過 TypeRefernce 引用類傳遞泛型參數 // 就可以將響應數據以帶復雜泛型參數的類型接受了 Result<List<User>> userList = Forest .post("/") .execute(new TypeReferenceList<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 接口的實現類
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 v1.5.3正式版本中新增了哪些功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。