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

Springcloud中Feign傳遞參數(shù)的過(guò)程解析

 更新時(shí)間:2023年09月29日 10:10:23   作者:敢敢變成了憨憨  
這篇文章主要介紹了Springcloud中Feign傳遞參數(shù)的過(guò)程,單個(gè)參數(shù)的傳值有兩種方式,第一種使用@RequestParam/@PathVariable進(jìn)行傳值,傳遞多個(gè)參數(shù):多個(gè)參數(shù)的傳值可以使用多個(gè)@RequestParam來(lái)進(jìn)行傳參,需要的朋友可以參考下

傳遞單個(gè)參數(shù):

單個(gè)參數(shù)的傳值有兩種方式,第一種使用@RequestParam/@PathVariable進(jìn)行傳值

客戶端feign調(diào)用接口(@RequestParam)

 @RequestMapping("/ct/selectOne")
    Customer selectOne(@RequestParam("id") Integer id);

服務(wù)提供端

 @RequestMapping("selectOne")
    public Customer selectOne(Integer id) {
        return this.customerService.queryById(id);
    }

客戶端feign調(diào)用接口(@PathVariable)

 @GetMapping("/admin/selectOne/{id}")
    String selectOne(@PathVariable("id") Integer id);

服務(wù)提供端

@RequestMapping("selectOne/{id}")
    @HystrixCommand(fallbackMethod = "HystrixqueryById")
        public Admin selectOne(@PathVariable("id") Integer id) {
        Admin bean = adminService.queryById(id);
        if(bean == null){
            throw new RuntimeException("id:"+id+"沒(méi)有找到該id的用戶");
        }
            return bean;
    }

注意:

1、在使用@RequestParam/@PathVariable進(jìn)行傳值時(shí),一定要注意,需要綁定參數(shù),如@RequestParam(“id”)綁定id,不然會(huì)報(bào)錯(cuò)

2、@PathVariable是獲取url上數(shù)據(jù)的,@RequestParam獲取請(qǐng)求參數(shù)的(包括post表單提交)

傳遞多個(gè)參數(shù):多個(gè)參數(shù)的傳值可以使用多個(gè)@RequestParam來(lái)進(jìn)行傳參

客戶端feign調(diào)用接口 

    @RequestMapping("/ct/upload")
    Customer upload(@RequestParam("newFileName") String newFileName,
                      @RequestParam("id")  int id);
 

服務(wù)提供端

 @RequestMapping("upload")
    public Customer upload(String newFileName,int id) throws IOException {
        System.out.println("進(jìn)入提供者-圖片上傳");
        //設(shè)置圖片上傳路徑,是目標(biāo)文件夾的路徑
        // 保存到數(shù)據(jù)庫(kù)
        Customer  customer=customerService.queryById(id);
        customer.setImage(newFileName);
        customerService.update(customer);
        return customer;
    }

傳對(duì)象:

傳對(duì)象有兩種方式

第一種,使用@SpringQueryMap注解實(shí)現(xiàn)

客戶端feign調(diào)用接口

 @RequestMapping("/ev/insert")
    Evaluation insert(@SpringQueryMap Evaluation evaluation);

服務(wù)提供端

 @PostMapping("save")
    public Object save(@RequestBody Admin admin){
        boolean result = false;
        //判斷是添加還是編輯
        if(admin.getId()!=null){
            //編輯
          //  System.out.println("編輯管理員信息");
            result = adminService.update(admin)>0;
        } else {
            //添加
            admin.setRegDate(new Date());
        //    System.out.println("添加管理員信息"+admin);
            result = adminService.insert(admin).getId() != null;
        }
        return  result;
    }

重點(diǎn):多個(gè)參數(shù)+對(duì)象的傳值

在進(jìn)行多個(gè)參數(shù)+對(duì)象傳值時(shí),使用@RequestParam來(lái)傳遞普通參數(shù),使用@SpringQueryMap來(lái)傳遞對(duì)象

注:本人親測(cè)踩坑使用@RequestParam+@RequestBody的時(shí)候,出現(xiàn)問(wèn)題@RequestBody要求前端頁(yè)面返回json格式,否則會(huì)報(bào):不支持Content-Type:application/json的錯(cuò)誤

客戶端feign調(diào)用接口 

    @RequestMapping(value = "/admin/queryAll", method = RequestMethod.POST)
    String queryAll(@RequestParam("page") Integer page,
                    @RequestParam("limit") Integer limit,
                    @SpringQueryMap AdminQuery admin);

服務(wù)提供端

 @PostMapping("queryAll")
    public Object queryAll(Integer page, Integer limit,AdminQuery admin) {
        CommonResult<Admin> result = new CommonResult<>();
        IPage<Admin> ipage = adminService.queryAllByLimit(page,limit,admin);
        result.setCode(0);
        result.setCount(ipage.getTotal());
        result.setData(ipage.getRecords());
        return result;
    }
 

到此這篇關(guān)于Springcloud中Feign傳遞參數(shù)的文章就介紹到這了,更多相關(guān)Springcloud中Feign傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring-data-redis自定義實(shí)現(xiàn)看門(mén)狗機(jī)制

    spring-data-redis自定義實(shí)現(xiàn)看門(mén)狗機(jī)制

    redission看門(mén)狗機(jī)制是解決分布式鎖的續(xù)約問(wèn)題,本文主要介紹了spring-data-redis自定義實(shí)現(xiàn)看門(mén)狗機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • springboot網(wǎng)站應(yīng)用使用第三方qq登錄的實(shí)現(xiàn)過(guò)程

    springboot網(wǎng)站應(yīng)用使用第三方qq登錄的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了springboot網(wǎng)站應(yīng)用使用第三方qq登錄,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • springboot操作靜態(tài)資源文件的方法

    springboot操作靜態(tài)資源文件的方法

    這篇文章主要介紹了springboot操作靜態(tài)資源文件的方法,本文給大家提到了兩種方法,小編在這里比較推薦第一種方法,具體內(nèi)容詳情大家跟隨腳本之家小編一起看看吧
    2018-07-07
  • 詳解Java實(shí)現(xiàn)多線程的三種方式

    詳解Java實(shí)現(xiàn)多線程的三種方式

    線程(英語(yǔ):thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。本文總結(jié)了Java多線程是三種實(shí)現(xiàn)方式,需要的可以參考一下
    2022-03-03
  • Java基于Socket實(shí)現(xiàn)HTTP下載客戶端

    Java基于Socket實(shí)現(xiàn)HTTP下載客戶端

    這篇文章主要介紹了Java基于Socket實(shí)現(xiàn)HTTP下載客戶端的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 使用java采集京東商城區(qū)劃數(shù)據(jù)示例

    使用java采集京東商城區(qū)劃數(shù)據(jù)示例

    這篇文章主要介紹了java采集京東的全國(guó)區(qū)劃數(shù)據(jù)示例,保存成json形式,如想轉(zhuǎn)換到數(shù)據(jù)庫(kù)只需反序列化為對(duì)象保存到數(shù)據(jù)庫(kù)即可
    2014-03-03
  • mybatis-plus 攔截器敏感字段加解密的實(shí)現(xiàn)

    mybatis-plus 攔截器敏感字段加解密的實(shí)現(xiàn)

    數(shù)據(jù)庫(kù)在保存數(shù)據(jù)時(shí),對(duì)于某些敏感數(shù)據(jù)需要脫敏或者加密處理,本文主要介紹了mybatis-plus 攔截器敏感字段加解密的實(shí)現(xiàn),感興趣的可以了解一下
    2021-11-11
  • Java使用CompletableFuture實(shí)現(xiàn)異步編程

    Java使用CompletableFuture實(shí)現(xiàn)異步編程

    在現(xiàn)代 Java 開(kāi)發(fā)中,異步編程是一項(xiàng)重要技能,而 CompletableFuture 是從 Java 8 開(kāi)始提供的一個(gè)功能強(qiáng)大的工具,用于簡(jiǎn)化異步任務(wù)的編寫(xiě)和組合,本文將詳細(xì)介紹 CompletableFuture 的基本使用和一些常見(jiàn)的應(yīng)用場(chǎng)景,需要的朋友可以參考下
    2025-01-01
  • Spring Boot conditional注解用法詳解

    Spring Boot conditional注解用法詳解

    這篇文章主要介紹了Spring Boot conditional注解用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 詳解Java I/O流中的字符流有哪些

    詳解Java I/O流中的字符流有哪些

    字節(jié)流的功能已經(jīng)十分強(qiáng)大,幾乎可以直接或間接地處理任何類型的輸入/輸出操作,但它卻不能直接操作16位的Unicode字符,這就需要使用字符流,所以在今天的內(nèi)容中,小編會(huì)給大家講解IO流中的字符流,希望各位能夠繼續(xù)耐心學(xué)習(xí)
    2023-10-10

最新評(píng)論