91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決SpringBoot中@PathVariable使用時遇到的問題

發布時間:2022-03-03 14:13:13 來源:億速云 閱讀:780 作者:小新 欄目:開發技術

小編給大家分享一下如何解決SpringBoot中@PathVariable使用時遇到的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

    @PathVariable使用時遇到的問題

    第一個問題

    接口:

    /**
         * 查詢客戶詳細信息
         * BY Oliver_Deng
         * @param userId 用戶id
         * @return
         */
        @ApiOperation(value="查詢客戶詳細信息",notes = "根據傳入id查詢客戶詳細信息")
        @ApiResponses({@ApiResponse(code=400,message="請求參數沒填好")})
        @ApiImplicitParam(paramType = "query", name = "userId", dataType = "Integer", required = true, value = "客戶id")
        @GetMapping("/findCustomerDetailByUserId/{userId}")
        public Result<Map<String,Object>> findCustomerByUserId(@PathVariable Integer userId){
            //客戶信息
    //        CustomerListVo customerMessage = customerUserService.findCustomerByUserID(userId);
            //客戶車輛信息
    //        List<CustomerUserCar> cars = customerUserCarService.findCarByUserId(Integer.valueOf(userId)); //not finish yet
            //TODO 計次卡、儲值卡
            return null;
        }

    Swagger訪問:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    解決辦法

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    將paramType 設置為path即可。

    paramType:表示參數放在哪個地方

    • header-->請求參數的獲取:@RequestHeader(代碼中接收注解)

    • query-->請求參數的獲取:@RequestParam(代碼中接收注解)

    • path(用于restful接口)-->請求參數的獲取:@PathVariable(代碼中接收注解)

    • body-->請求參數的獲取:@RequestBody(代碼中接收注解)

    • form(不常用)

    第二個問題

    接口:

    /**
     * 查詢車輛品牌、車系、年款、車型信息
     * BY Oliver_Deng
     * @param brandId 車輛品牌ID
     * @param familyId 車系ID
     * @param groupId 車輛年款ID
     * @return
     */
    @ApiOperation(value="查詢車輛品牌、車系、年款、車型信息",notes = "查詢車輛品牌、車系、年款、車型信息,傳入子id時先將上級id清空,一次訪問只能傳入一種id或者不傳id")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "brandId", dataType = "String", required = false, value = "車輛品牌ID"),
            @ApiImplicitParam(paramType = "query", name = "familyId", dataType = "String", required = false, value = "車系ID"),
            @ApiImplicitParam(paramType = "query", name = "groupId", dataType = "String", required = false, value = "車輛年款ID")
    })
    @ApiResponses({@ApiResponse(code=400,message="請求參數沒填好")})
    @GetMapping("/findCarBrandMessage/{brandId}/{familyId}/{groupId}")
    public Result findCarBrandMessage(@PathVariable String brandId,@PathVariable String familyId,@PathVariable String groupId){
        return customerUserCarService.findCarBrandMessage(brandId,familyId,groupId);
    }

    Swageer訪問:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    查詢成功,但是沒有數據,我們來DeBug看一下:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    可以看到值竟然時這些,并不是為null,所以自然滿足了if條件,但功能并不是要如此。

    解決辦法

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    把@ApiImplicitParam參數去掉,用@RequestParam()。

    為什么能用@RequestParam()?

    RequestParam就是在url后面拼接的參數。

    成功:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    @PathVariable 404問題

    跳轉頁面:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    controller層:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    之后console不報錯,但是

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    改變方法:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    改正之后:

    如何解決SpringBoot中@PathVariable使用時遇到的問題

    以上是“如何解決SpringBoot中@PathVariable使用時遇到的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    六安市| 兰州市| 余江县| 威信县| 民权县| 彭泽县| 马鞍山市| 鹿泉市| 新兴县| 漳平市| 汉阴县| 富顺县| 托里县| 金湖县| 南江县| 彭水| 公安县| 城口县| 石河子市| 临西县| 涟水县| 江山市| 抚顺县| 荣成市| 义马市| 衡阳市| 靖江市| 肥西县| 宿松县| 保亭| 南丹县| 桂东县| 滁州市| 兴城市| 教育| 中江县| 龙岩市| 大关县| 杭锦后旗| 城市| 太康县|