摘要:注意如果你的方法返回對象只有一個資源對象需要映射,可以多帶帶配置使用注解。集合資源加載返回值為集合的示例類型作為返回值時,其中注意必須是對象類型。如果你有想要的使用方式,你就可以提交
ApiBoot Resource Load
ApiBoot Resource Load是一款資源與業務完全分離的基礎框架,可以整合微服務(Feign、OpenFeign)進行負載均衡讀取固定類型、固定所屬業務的資源信息,遵循一定的資源存儲規則完成自動化資源讀取、添加、更新、刪除、緩存等。
使用場景業務圖片存儲
業務音頻、視頻文件存儲
業務文件
其他資源文件...
引入 ApiBoot Resource Load在pom.xml配置文件內添加如下依賴:
org.minbox.framework api-boot-starter-resource-load
ApiBoot所提供的依賴都不需要添加版本號,但是需要添加版本依賴,具體查看ApiBoot版本依賴了解ApiBootResourceStoreDelegate
ApiBootResourceStoreDelegate是一個資源數據讀取的委托驅動接口,在使用ApiBoot Resource Load時,需要實現該接口完成資源的讀取方法loadResourceUrl(),該方法的參數如下所示:
第一個參數sourceFieldValue,是查詢資源的業務編號,具體的配置詳見下面的示例。
第二個參數resourceType,是查詢資源的類型,相同的業務編號下很有可能存在多種類型,比如:用戶編號對應用戶頭像、用戶封面等。
ApiBootResourceStoreDelegate示例:
// 示例 @Service public class ResourceLoadService implements ApiBootResourceStoreDelegate { /** * logger instance */ static Logger logger = LoggerFactory.getLogger(ResourceLoadService.class); @Override public ListloadResourceUrl(String sourceFieldValue, String resourceType) throws ApiBootException { logger.info("查詢資源的業務邏輯字段值:{}", sourceFieldValue); logger.info("資源類型:{}", resourceType); return Arrays.asList(new String[]{"http://test.oss.com/111.png"}); } }
loadResourceUrl方法需要返回根據resourceFieldValue、resourceType字段查詢到的資源列表。內置注解
@ResourceLoad
標注方法需要進行ApiBoot Resource Load自動化讀取資源信息,該注解必須添加,且只能添加在方法上。
@ResourceFields
@ResourceField注解的集合
@ResourceField
配置@ResourceLoad標注的方法具體有哪些字段需要進行資源的自動映射,參數解釋如下所示:
name:查詢資源后設置到類內Field的名稱
source:查詢資源所需的業務邏輯編號類內Field的名稱
type:資源類型,自行定義
isArray:接收查詢后資源的Field類型是否為array,true:array
isList:接收查詢后資源的Field類型是否為list,true:list
單對象資源加載資源加載一般都是實體類的方式進行返回的,下面我們先來創建一個實體類方便示例測試,如下所示:
/** * 示例對象 */ @Data class SampleUserInfo { public SampleUserInfo(String userId, int age) { this.userId = userId; this.age = age; } private String userId; private String headImage; private String shortImage; private int age; }
返回值為單對象資源加載示例:
/** * 返回值為單個對象的示例 * * @return */ @ResourceLoad @ResourceFields({ @ResourceField(name = "headImage", source = "userId", type = "HEAD_IMAGE"), @ResourceField(name = "shortImage", source = "userId", type = "SHORT_IMAGE") }) public SampleUserInfo singleObjectSample() { return new SampleUserInfo("yuqiyu", 24); }
在上面,我們配置讀取兩種類型的資源,分別是:HEAD_IMAGE、SHORT_IMAGE,而且配置的業務資源編號都是userId字段,這兩個字段也就是會傳遞給ApiBootResourceStoreDelegate#loadResourceUrl方法作為參數。List集合資源加載其中HEAD_IMAGE讀取到的資源路徑設置到SampleUserInfo類內的headImage,SHORT_IMAGE讀取到的資源路徑設置到SampleUserInfo類內的shortImage字段。
注意:如果你的方法返回對象只有一個資源對象需要映射,可以多帶帶配置使用@ResourceField注解。
/** * 返回值為list集合的示例 * * @return */ @ResourceLoad @ResourceFields({ @ResourceField(name = "headImage", source = "userId", type = "HEAD_IMAGE"), @ResourceField(name = "shortImage", source = "userId", type = "SHORT_IMAGE") }) public ListlistSample() { List users = new ArrayList(); users.add(new SampleUserInfo("yuqiyu", 24)); users.add(new SampleUserInfo("hengboy", 24)); return users; }
在上面,會為返回值list內的每一個SampleUserInfo對象進行設置查詢的資源信息。
Map集合資源加載/** * 返回值為map集合的示例 * * @return */ @ResourceLoad @ResourceFields({ @ResourceField(name = "headImage", source = "userId", type = "HEAD_IMAGE"), @ResourceField(name = "shortImage", source = "userId", type = "SHORT_IMAGE") }) public MapmapSample() { Map users = new HashMap<>(2); users.put("yuqiyu", new SampleUserInfo("yuqiyu", 24)); users.put("hengboy", new SampleUserInfo("hengboy", 24)); return users; }
Map類型作為返回值時,其中注意map -> value必須是對象類型。
如果你有想要的使用方式,你就可以提交issuse!!!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74139.html
摘要:是一款基于的接口服務集成基礎框架,內部提供了框架的封裝集成,讓接口開發者完成開箱即用,不再為搭建接口框架而犯愁,從而極大的提高開發效率。 ApiBoot是一款基于SpringBoot1.x、SpringBoot2.x的接口服務集成基礎框架,內部提供了框架的封裝集成,讓接口開發者完成開箱即用,不再為搭建接口框架而犯愁,從而極大的提高開發效率。通過在我的SpringBoot系列教程中得到的...
摘要:相關配置配置參數參數介紹默認值是否啟用文檔標題快速集成文檔文檔描述通過自動化配置快速集成文檔,僅需一個注解一個依賴即可。注意通過所獲取的類型都為。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務集成基礎框架, 內部提供了框架的封裝集成、使用擴展、自動化完成配置,讓接口開發者可以選著性完成開箱即用, 不再為搭建接口框架而犯愁,從而極大...
摘要:如果全部使用默認值的情況話不需要做任何配置方式前提項目需要添加數據源依賴。獲取通過獲取啟用在使用格式化時非常簡單的,配置如下所示開啟轉換轉換時所需加密,默認為恒宇少年于起宇默認不啟用,簽名建議進行更換。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務集成基礎框架, 內部提供了框架的封裝集成、使用擴展、自動化完成配置,讓接口開發者可以選著性完成開箱即...
摘要:的短信服務模塊是由阿里云的國際短信服務提供的,支持國內和國際快速發送驗證碼短信通知和推廣短信。前提需要到阿里云控制臺申請開通短信服務。如果在阿里云控制臺定義的短信模板存在多個參數,可以通過方法來進行挨個添加,該方法返回值為本對象。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務集成基礎框架, 內部提供了框架的封裝集成、使用擴展、自動化完成配置,讓接...
摘要:如下所示不配置默認使用自定義是的概念,用于自定義轉換實現,比如自定義格式化日期自動截取小數點等。下面提供一個的簡單示例,具體的使用請參考官方文檔。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務集成基礎框架, 內部提供了框架的封裝集成、使用擴展、自動化完成配置,讓接口開發者可以選著性完成開箱即用, 不再為搭建接口框架而犯愁,從而極大...
閱讀 2007·2021-11-15 18:09
閱讀 899·2021-09-06 15:13
閱讀 2643·2021-08-23 09:43
閱讀 2024·2019-08-30 15:54
閱讀 2218·2019-08-30 13:56
閱讀 2484·2019-08-26 11:31
閱讀 3077·2019-08-26 10:56
閱讀 700·2019-08-26 10:28