成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ApiBoot - ApiBoot Resource Load 使用文檔

diabloneo / 471人閱讀

摘要:注意如果你的方法返回對象只有一個資源對象需要映射,可以多帶帶配置使用注解。集合資源加載返回值為集合的示例類型作為返回值時,其中注意必須是對象類型。如果你有想要的使用方式,你就可以提交

ApiBoot Resource Load

ApiBoot Resource Load是一款資源與業(yè)務(wù)完全分離的基礎(chǔ)框架,可以整合微服務(wù)(Feign、OpenFeign)進(jìn)行負(fù)載均衡讀取固定類型、固定所屬業(yè)務(wù)的資源信息,遵循一定的資源存儲規(guī)則完成自動化資源讀取、添加、更新、刪除、緩存等。

使用場景

業(yè)務(wù)圖片存儲

業(yè)務(wù)音頻、視頻文件存儲

業(yè)務(wù)文件

其他資源文件...

引入 ApiBoot Resource Load

pom.xml配置文件內(nèi)添加如下依賴:



  org.minbox.framework
  api-boot-starter-resource-load
ApiBoot所提供的依賴都不需要添加版本號,但是需要添加版本依賴,具體查看ApiBoot版本依賴
了解ApiBootResourceStoreDelegate

ApiBootResourceStoreDelegate是一個資源數(shù)據(jù)讀取的委托驅(qū)動接口,在使用ApiBoot Resource Load時,需要實現(xiàn)該接口完成資源的讀取方法loadResourceUrl(),該方法的參數(shù)如下所示:

第一個參數(shù)sourceFieldValue,是查詢資源的業(yè)務(wù)編號,具體的配置詳見下面的示例。

第二個參數(shù)resourceType,是查詢資源的類型,相同的業(yè)務(wù)編號下很有可能存在多種類型,比如:用戶編號對應(yīng)用戶頭像、用戶封面等。

ApiBootResourceStoreDelegate示例:

// 示例
@Service
public class ResourceLoadService implements ApiBootResourceStoreDelegate {
    /**
     * logger instance
     */
    static Logger logger = LoggerFactory.getLogger(ResourceLoadService.class);

    @Override
    public List loadResourceUrl(String sourceFieldValue, String resourceType) throws ApiBootException {
        logger.info("查詢資源的業(yè)務(wù)邏輯字段值:{}", sourceFieldValue);
        logger.info("資源類型:{}", resourceType);
        return Arrays.asList(new String[]{"http://test.oss.com/111.png"});
    }
}
loadResourceUrl方法需要返回根據(jù)resourceFieldValue、resourceType字段查詢到的資源列表。
內(nèi)置注解

@ResourceLoad

標(biāo)注方法需要進(jìn)行ApiBoot Resource Load自動化讀取資源信息,該注解必須添加,且只能添加在方法上。

@ResourceFields

@ResourceField注解的集合

@ResourceField

配置@ResourceLoad標(biāo)注的方法具體有哪些字段需要進(jìn)行資源的自動映射,參數(shù)解釋如下所示:

name:查詢資源后設(shè)置到類內(nèi)Field的名稱

source:查詢資源所需的業(yè)務(wù)邏輯編號類內(nèi)Field的名稱

type:資源類型,自行定義

isArray:接收查詢后資源的Field類型是否為array,true:array

isList:接收查詢后資源的Field類型是否為list,true:list

單對象資源加載

資源加載一般都是實體類的方式進(jìn)行返回的,下面我們先來創(chuàng)建一個實體類方便示例測試,如下所示:

/**
  * 示例對象
  */
@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,而且配置的業(yè)務(wù)資源編號都是userId字段,這兩個字段也就是會傳遞給ApiBootResourceStoreDelegate#loadResourceUrl方法作為參數(shù)。

其中HEAD_IMAGE讀取到的資源路徑設(shè)置到SampleUserInfo類內(nèi)的headImage,SHORT_IMAGE讀取到的資源路徑設(shè)置到SampleUserInfo類內(nèi)的shortImage字段。

注意:如果你的方法返回對象只有一個資源對象需要映射,可以多帶帶配置使用@ResourceField注解。

List集合資源加載
/**
  * 返回值為list集合的示例
  *
  * @return
  */
@ResourceLoad
@ResourceFields({
  @ResourceField(name = "headImage", source = "userId", type = "HEAD_IMAGE"),
  @ResourceField(name = "shortImage", source = "userId", type = "SHORT_IMAGE")
})
public List listSample() {
  List users = new ArrayList();
  users.add(new SampleUserInfo("yuqiyu", 24));
  users.add(new SampleUserInfo("hengboy", 24));
  return users;
}

在上面,會為返回值list內(nèi)的每一個SampleUserInfo對象進(jìn)行設(shè)置查詢的資源信息。

Map集合資源加載
/**
  * 返回值為map集合的示例
  *
  * @return
  */
@ResourceLoad
@ResourceFields({
  @ResourceField(name = "headImage", source = "userId", type = "HEAD_IMAGE"),
  @ResourceField(name = "shortImage", source = "userId", type = "SHORT_IMAGE")
})
public Map mapSample() {
  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?。?!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/74139.html

相關(guān)文章

  • ApiBoot 2.0.4.RELEASE版本發(fā)布

    摘要:是一款基于的接口服務(wù)集成基礎(chǔ)框架,內(nèi)部提供了框架的封裝集成,讓接口開發(fā)者完成開箱即用,不再為搭建接口框架而犯愁,從而極大的提高開發(fā)效率。 ApiBoot是一款基于SpringBoot1.x、SpringBoot2.x的接口服務(wù)集成基礎(chǔ)框架,內(nèi)部提供了框架的封裝集成,讓接口開發(fā)者完成開箱即用,不再為搭建接口框架而犯愁,從而極大的提高開發(fā)效率。通過在我的SpringBoot系列教程中得到的...

    JellyBool 評論0 收藏0
  • ApiBoot - ApiBoot Swagger 使用文檔

    摘要:相關(guān)配置配置參數(shù)參數(shù)介紹默認(rèn)值是否啟用文檔標(biāo)題快速集成文檔文檔描述通過自動化配置快速集成文檔,僅需一個注解一個依賴即可。注意通過所獲取的類型都為。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動化完成配置,讓接口開發(fā)者可以選著性完成開箱即用, 不再為搭建接口框架而犯愁,從而極大...

    yuanxin 評論0 收藏0
  • ApiBoot - ApiBoot Security Oauth 依賴使用文檔

    摘要:如果全部使用默認(rèn)值的情況話不需要做任何配置方式前提項目需要添加數(shù)據(jù)源依賴。獲取通過獲取啟用在使用格式化時非常簡單的,配置如下所示開啟轉(zhuǎn)換轉(zhuǎn)換時所需加密,默認(rèn)為恒宇少年于起宇默認(rèn)不啟用,簽名建議進(jìn)行更換。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動化完成配置,讓接口開發(fā)者可以選著性完成開箱即...

    Tonny 評論0 收藏0
  • ApiBoot - ApiBoot Alibaba Sms 使用文檔

    摘要:的短信服務(wù)模塊是由阿里云的國際短信服務(wù)提供的,支持國內(nèi)和國際快速發(fā)送驗證碼短信通知和推廣短信。前提需要到阿里云控制臺申請開通短信服務(wù)。如果在阿里云控制臺定義的短信模板存在多個參數(shù),可以通過方法來進(jìn)行挨個添加,該方法返回值為本對象。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動化完成配置,讓接...

    cheng10 評論0 收藏0
  • ApiBoot - ApiBoot Http Converter 使用文檔

    摘要:如下所示不配置默認(rèn)使用自定義是的概念,用于自定義轉(zhuǎn)換實現(xiàn),比如自定義格式化日期自動截取小數(shù)點等。下面提供一個的簡單示例,具體的使用請參考官方文檔。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動化完成配置,讓接口開發(fā)者可以選著性完成開箱即用, 不再為搭建接口框架而犯愁,從而極大...

    dance 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<