亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何解決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

    郓城县| 喜德县| 烟台市| 富源县| 绍兴县| 泰安市| 闵行区| 黄平县| 曲阜市| 绥化市| 会泽县| 潍坊市| 静宁县| 邵阳县| 家居| 琼中| 京山县| 拉孜县| 镇赉县| 会理县| 武鸣县| 岳普湖县| 龙川县| 桃园县| 大宁县| 洪泽县| 开封县| 明水县| 随州市| 四会市| 报价| 普安县| 中方县| 昆明市| 云梦县| 泰来县| 和政县| 双桥区| 镇赉县| 和硕县| 沾化县|