欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud通過Feign傳遞List類型參數方式

 更新時間:2022年03月16日 11:30:58   作者:張志翔 ?  
這篇文章主要介紹了SpringCloud通過Feign傳遞List類型參數方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

通過Feign傳遞List類型參數

首先明確一點,SpringCloud通過Fegin如果是多個參數,其中一個參數是List,那么是傳不過去的,單個List是可以的。

1、單個List實體傳遞

@RequestMapping("/secret/batchInsert")
public int batchInsert(@RequestBody List<BatchSecretBO> batchSecretBOList){
? ? return batchSecretService.batchInsert(batchSecretBOList);
}

2、基本類型傳遞

基本類型可以通過數組的方式傳遞,代碼如下所示:

@RequestMapping(value = "/stat/merchant/get_merchant_compare_info", method = RequestMethod.POST)
@ResponseBody
MerchantCompareTotalInfo getMerchantCompareInfo(@RequestParam("licenseNoList") String[] licenseNoList);

3、實體類型傳遞

實體類型可以通過FastJson將List轉換為String之后進行傳遞,代碼如下:

//調用方代碼
String contracts = JSONObject.toJSONString(contractBOList);
contractDao.contractBatchSetRedis(contracts , 60 * 60);
?
//接收方代碼
@PostMapping("/contract/contractBatchSetRedis")
void contractBatchSetRedis(@RequestParam("contractBOList") String contractBOList, @RequestParam("expire") long expire) {
? ? List<ContractBO> contracts = JSONObject.parseArray(contractBOList, ContractBO.class);
? ? if (contracts == null || contracts.size() == 0) {
? ? ? ? ?return;
? ? }
? ? //批量set數據
? ? redisUtil.getRedisTemplate().executePipelined((RedisCallback<String>) connection -> {
? ? ? ? for (ContractBO contract : contracts) {
? ? ? ? ? ? connection.setEx((RedisPrefixConst.CONTRACT_PREFIX + contract.getBusinessCode() + RedisPrefixConst.UNDERLINE_SEPARATOR + contract.getContractNo()).getBytes(), expire, JSONObject.toJSONString(contract).getBytes());
? ? ? ? }
? ? ? ? return null;
? ? });
}

fegin局限性較多,如果要傳遞List只能通過以上方法轉換成字符串后,再進行參數傳遞。 

Feign在參數為List時的坑

我們在使用Feign進行服務接口調用時,有時候會有接口參數為List集合的時候,不能使用List接口類作為參數,只能用List的實現(xiàn)類。

錯誤寫法

正確寫法

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • idea編寫yml、yaml文件以及其優(yōu)先級的使用

    idea編寫yml、yaml文件以及其優(yōu)先級的使用

    本文主要介紹了idea編寫yml、yaml文件以及其優(yōu)先級的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Redis分布式鎖實現(xiàn)方式及超時問題解決

    Redis分布式鎖實現(xiàn)方式及超時問題解決

    這篇文章主要介紹了Redis分布式鎖實現(xiàn)方式及超時問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot沒有主清單屬性的解決方法

    SpringBoot沒有主清單屬性的解決方法

    在本篇文章里小編給大家整理的是關于解決SpringBoot沒有主清單屬性知識點,需要的朋友們學習下。
    2019-11-11
  • JavaSE實戰(zhàn)之酒店訂房系統(tǒng)的實現(xiàn)

    JavaSE實戰(zhàn)之酒店訂房系統(tǒng)的實現(xiàn)

    這篇文章主要為大家詳細介紹了如何利用JavaSE實現(xiàn)酒店訂房系統(tǒng),文中的示例代碼講解詳細,對我們學習JavaSE開發(fā)有一定的幫助,需要的可以參考一下
    2022-07-07
  • java常用工具類之DES和Base64加密解密類

    java常用工具類之DES和Base64加密解密類

    這篇文章主要介紹了java常用工具類之DES和Base64加密解密類,需要的朋友可以參考下
    2014-07-07
  • Java Web中解決路徑(絕對路徑與相對路徑)問題

    Java Web中解決路徑(絕對路徑與相對路徑)問題

    這篇文章主要介紹了Java Web中解決路徑問題的相關資料,java 文件路徑有絕對路徑與相對路徑,這里提供了幾種方法解決所有路徑問題,需要的朋友可以參考下
    2017-01-01
  • Java使用AES加密和解密的實例詳解

    Java使用AES加密和解密的實例詳解

    這篇文章主要介紹了Java使用AES加密和解密的實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • Java使用IntelliJ IDEA連接MySQL的詳細教程

    Java使用IntelliJ IDEA連接MySQL的詳細教程

    這篇文章主要給大家介紹了關于Java使用IntelliJ IDEA連接MySQL的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Java實例講解動態(tài)代理

    Java實例講解動態(tài)代理

    動態(tài)代理指的是,代理類和目標類的關系在程序運行的時候確定的,客戶通過代理類來調用目標對象的方法,是在程序運行時根據需要動態(tài)的創(chuàng)建目標類的代理對象。本文將通過案例詳細講解一下動態(tài)代理,需要的可以參考一下
    2022-06-06
  • spring如何快速穩(wěn)定解決循環(huán)依賴問題

    spring如何快速穩(wěn)定解決循環(huán)依賴問題

    這篇文章主要介紹了spring如何快速穩(wěn)定解決循環(huán)依賴問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論