最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用feign客戶端傳參接收不到的問題及解決

 更新時(shí)間:2022年03月16日 09:56:16   作者:一縷82年的清風(fēng)  
這篇文章主要介紹了使用feign客戶端傳參接收不到的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。

feign客戶端傳參接收不到

使用feign客戶端做不用服務(wù)之間的調(diào)用的時(shí)候出現(xiàn)了provider獲取不到參數(shù)的問題,在此記錄一下。

先來說一下流程

在我的微服務(wù)中,有這么幾個(gè)角色,consumer: 服務(wù)的消費(fèi)者,provider:服務(wù)的消費(fèi)者,還有一個(gè)feign,主要就是provider的接口形式,然后consumer依賴了feign,去調(diào)用provider中的服務(wù),我在provider中打印獲取的參數(shù),一直為空。

我這里,consumer, feign,provider都是單獨(dú)的模塊

我們來看下代碼

首先是provider:提供了一個(gè)保存用戶的服務(wù)

@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {
?
? ? @PostMapping("/save")
? ? public String save(User user){
? ? ? ? log.info("provider: 處理save請(qǐng)求,參數(shù)為:{}",user);
? ? ? ? return "success";
? ? }

feign代碼:注意這個(gè)模塊要添加feign依賴

@FeignClient(name = "service-provider",fallback = UserHystrix.class)
public interface UserController {
?
? ? @PostMapping("/user/save")
? ? String save(User user);?
}

然后使用consumer通過feign調(diào)用provider:注意 consumer依賴feign,上代碼:

@RestController
@Slf4j
public class FeignController {
?
? ? @Autowired
? ? private UserController userController;
?
? ? @RequestMapping("/feign")
? ? public String test(){
? ? ? ? User user = new User();
? ? ? ? user.setName("zhangsan");
? ? ? ? user.setAge(10);
? ? ? ? log.info("feign調(diào)用開始。。。。");
? ? ? ? String result = userController.save(user);
? ? ? ? log.info("feign: 返回: {}", result);
? ? ? ? return "success";
? ? }???
}

各自服務(wù)啟動(dòng)后,瀏覽器調(diào)用consumer的 /feign請(qǐng)求,觀察provider日志,發(fā)現(xiàn)獲取到的User參數(shù)沒有值。

如何解決

在provider中的方法里的User參數(shù)前面,加上  @RequestBody ,注意下面代碼中的注釋部分

@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {
?
? ? @PostMapping("/save")
? ? // 注意加上requestBody,否則容易接收不到參數(shù)
? ? public String save(@RequestBody User user){
? ? ? ? log.info("provider: 處理save請(qǐng)求,參數(shù)為:{}",user);
? ? ? ? return "success";
? ? }?
}

好了,為了方便大家觀看,在給出以下項(xiàng)目結(jié)構(gòu)吧:

feign傳遞參數(shù)!坑!

以下是FeignClient 注解的接口 中的一個(gè)抽象方法

@PostMapping("/bizTask/selectNonCompleteByShopIds")
List<BizTask> selectNonCompleteByShopIds(@RequestBody List<Long> shopIds);?

注意這里接口參數(shù) shopIds,該方法的參數(shù)列表也必須和抽象方法一致,否則接不到參數(shù)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java小程序計(jì)算圓周率代碼

    Java小程序計(jì)算圓周率代碼

    這篇文章主要介紹了Java小程序計(jì)算圓周率代碼,有兩種實(shí)現(xiàn)方法,喜歡的朋友可以參考下。
    2017-09-09
  • SpringMVC數(shù)據(jù)頁(yè)響應(yīng)ModelAndView實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)

    SpringMVC數(shù)據(jù)頁(yè)響應(yīng)ModelAndView實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)

    本文主要介紹了SpringMVC數(shù)據(jù)頁(yè)響應(yīng)ModelAndView實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • SpringBoot整合mybatis-generator插件流程詳細(xì)講解

    SpringBoot整合mybatis-generator插件流程詳細(xì)講解

    這篇文章主要介紹了SpringBoot整合mybatis-generator插件流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • SpringBoot Mybatis 配置文件形式詳解

    SpringBoot Mybatis 配置文件形式詳解

    這篇文章主要介紹了SpringBoot Mybatis 配置文件形式詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Hutool?Java工具類庫(kù)_ExcelUtil的使用

    Hutool?Java工具類庫(kù)_ExcelUtil的使用

    這篇文章主要介紹了Hutool?Java工具類庫(kù)_ExcelUtil的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的常用方法

    SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的常用方法

    在Spring Boot應(yīng)用中連接多個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)源可以使用多種方式,本文講給大家介紹兩種常用的方法:使用Spring Boot官方支持的多數(shù)據(jù)源配置和使用第三方庫(kù)實(shí)現(xiàn)多數(shù)據(jù)源,文章通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • JDK源碼中一些實(shí)用的“小技巧”總結(jié)

    JDK源碼中一些實(shí)用的“小技巧”總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于JDK源碼中一些實(shí)用的“小技巧”,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用jdk源碼具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • 超好用的Java工具類庫(kù)Hutool用法詳解

    超好用的Java工具類庫(kù)Hutool用法詳解

    Hutool是一個(gè)小而全的Java工具類庫(kù),通過靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,下面就跟隨小編一起來學(xué)習(xí)一下Hutool的具體用法吧
    2023-09-09
  • java參數(shù)傳遞之值傳遞和引用傳遞

    java參數(shù)傳遞之值傳遞和引用傳遞

    這篇文章主要介紹了java參數(shù)傳遞之值傳遞和引用傳遞,引用了兩個(gè)代碼實(shí)例來講解,有感興趣的同學(xué)可以研究下
    2021-02-02
  • Java讀取文件的簡(jiǎn)單實(shí)現(xiàn)方法

    Java讀取文件的簡(jiǎn)單實(shí)現(xiàn)方法

    這篇文章主要介紹了Java讀取文件的簡(jiǎn)單實(shí)現(xiàn)方法,通過一個(gè)讀取txt格式的log文件為例,詳細(xì)的講述了Java讀取文件的方法及原理,需要的朋友可以參考下
    2014-09-09

最新評(píng)論

日照市| 浦江县| 万年县| 家居| 黄山市| 清新县| 专栏| 蒲城县| 庄河市| 香港| 武强县| 长治市| 于田县| 崇左市| 左贡县| 博罗县| 丹凤县| 色达县| 宜阳县| 宜都市| 门源| 西城区| 镇康县| 天长市| 永靖县| 安岳县| 锡林浩特市| 莱州市| 玉田县| 保靖县| 武陟县| 波密县| 陈巴尔虎旗| 关岭| 广东省| 达尔| 高台县| 敖汉旗| 沙洋县| 西畴县| 关岭|