# 今天遇到了一个奇怪的问题,新加入了一个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都不显示的,并且没有任何异常信息;
如果出现类似情况,可以尝试先注释下这样的属性先试下;
这里记录一下,增加一下印象;
网友评论