美文网首页
spring boot swagger2 不展示接口的问题

spring boot swagger2 不展示接口的问题

作者: 一介书生独醉江湖 | 来源:发表于2022-05-30 14:46 被阅读0次
    # 今天遇到了一个奇怪的问题,新加入了一个Controller之后,swagger不显示了;
    
    image.png
    # 再加入这个Controller之前,swagger是正常访问的;
    
    image.png
    # 不用说,问题肯定出在这个Controller上了
    # 除了类名,全部注释掉,一段一段代码放开;
    
        /**
         * *******
         * @param requestVo
         * @param results
         * @return
         */
        @ApiOperation(value = "*******", notes = "*******", produces = "application/json")
        @PostMapping(value = "createCharge", produces = {"application/json;charset=UTF-8"})
        public RestResponse createCharge(@RequestBody @Valid CreateChargeRequestVo requestVo , BindingResult results) {
            if (results.hasErrors()){
                return RestResponse.instance().fail(results.getFieldError().getDefaultMessage());
            }
            try {
                return chargeService.createCharge(requestVo);
            } catch (Exception e) {
                e.printStackTrace();
                logger.warn("*******-->失败");
            }
            return RestResponse.instance().success("*******-->成功");
        }
    
    # 问题出在 CreateChargeRequestVo 中,有一个参数是这样的;
    # example 这个属性我给的示例有问题,改正后,swagger就可以正常访问了
    
        @NotNull(message = "*********请求对象不能为空")
        @ApiModelProperty(value="*********请求对象", example="[\n" +
                "\t\t{\n" +
                "\t\t\t\"chargeType\": 1,\n" +
                "\t\t\t\"chargeWay\": 1,\n" +
                "\t\t\t\"recivePrice\": 300\n" +
                "\t\t}\n" +
                "\t]", notes="*********请求对象")
        private List<ChargeNotaryItemVo> chargeNotaryItemVoList;
    
    总结:如果@ApiModelProperty中的example是json数组有问题;
         那么是有可能引发swagger所有的controller都不显示的,并且没有任何异常信息;
         如果出现类似情况,可以尝试先注释下这样的属性先试下;
         这里记录一下,增加一下印象;
    

    相关文章

      网友评论

          本文标题:spring boot swagger2 不展示接口的问题

          本文链接:https://www.haomeiwen.com/subject/zquoprtx.html