国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ApiBoot - ApiBoot Resource Load 使用文檔

diabloneo / 462人閱讀

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

ApiBoot Resource Load

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

使用場(chǎng)景

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

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

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

其他資源文件...

引入 ApiBoot Resource Load

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



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

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

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

第二個(gè)參數(shù)resourceType,是查詢資源的類型,相同的業(yè)務(wù)編號(hào)下很有可能存在多種類型,比如:用戶編號(hào)對(duì)應(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ù)resourceFieldValueresourceType字段查詢到的資源列表。
內(nèi)置注解

@ResourceLoad

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

@ResourceFields

@ResourceField注解的集合

@ResourceField

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

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

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

type:資源類型,自行定義

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

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

單對(duì)象資源加載

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

/**
  * 示例對(duì)象
  */
@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;
}

返回值為單對(duì)象資源加載示例:

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

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

注意:如果你的方法返回對(duì)象只有一個(gè)資源對(duì)象需要映射,可以多帶帶配置使用@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;
}

在上面,會(huì)為返回值list內(nèi)的每一個(gè)SampleUserInfo對(duì)象進(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類型作為返回值時(shí),其中注意map -> value必須是對(duì)象類型。

如果你有想要的使用方式,你就可以提交issuse!!!

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/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 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Swagger 使用文檔

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

    yuanxin 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Security Oauth 依賴使用文檔

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

    Tonny 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Alibaba Sms 使用文檔

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

    cheng10 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Http Converter 使用文檔

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

    dance 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<