@Bean
    public ShiroFilterChainDefinition shiroFilterChainDefinition() {
        DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();
        chainDefinition.addPathDefinition("/static/**", "anon");
        chainDefinition.addPathDefinition("/files/**", "anon");
        chainDefinition.addPathDefinition("/global/sessionError", "anon");
        /*swagger相关不拦截操作开始*/
        chainDefinition.addPathDefinition("/swagger-ui.html/**", "anon");
        chainDefinition.addPathDefinition("/swagger-resources/**", "anon");
         chainDefinition.addPathDefinition("/v2/api-docs", "anon");
        chainDefinition.addPathDefinition("/webjars/**", "anon");
         /*swagger相关不拦截操作结束*/
        chainDefinition.addPathDefinition("/kaptcha", "anon");
        chainDefinition.addPathDefinition("/preview/**", "anon");
        chainDefinition.addPathDefinition("/login", "anon");
        chainDefinition.addPathDefinition("/logout", "logout");
        chainDefinition.addPathDefinition("/**", "user");
        return chainDefinition;
   此刻表示很纳闷,之前网关的Swagger页面都是正常的,它是统一对外提供各服务系统的接口列表展示的,今天怎么就突然出问题了呢?在此疑问当中排除各种可能的情况,也百度了一波,最终定位到新写的那两个接口上面了。
发现问题:
   原来是新加的两个接口Controller里...
                                    检查一下,果然是将两个不同的函数名称配成了同一个api名称(或者url 或者url 最后一个/后的匹配字段),所以报这个错,开始以为是swagger问题,后经同事指点,原来是Controller里面的api配置名称有重复。Controller的swagger配置有重复的时候就会遇到这个错误。
                                    Unable to render this definition The provided definition does not specify a valid version field.
Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: “2.0” ...
                                    Swagger报错 Unable to render this definition1、Swagger页面报错截图2、产生原因分析和结论原因:添加新接口后Swagger接口异常结论:此版本的swagger前端无法正常解析带 “\” 格式的JSON报文3、 解决方案
1、Swagger页面报错截图
2、产生原因分析和结论
原因:添加新接口后Swagger接口异常
1.查看idea控制台,没有打印异常,排除接口异常;
2.浏览器页面F12查看接口情况,接口已经返回定义接口报文,但是前端报错,如图:
                                    swagger报错:记录swagger报错:Unable to render this definition报错截图问题原因在controller中,有重复的@api导致无法识别(很遗憾,我遇到的不是这个)具体问题,具体分析在此记录,谢谢。
swagger报错:Unable to render this definition
问题原因
在controller中,有重复的@api导致无法识别(很遗憾,我遇到的不是这个)
可以通过排查controller中的注解说明来去掉重复。
具体问题,具体分析
                                    Swagger3报错Unable to infer base url;Swagger3报错Unable to render this definitionSwagger3被拦截;拦截器与swagger3;
这可能是个swagger的bug?不能json?
或者是我在其他的vo里也写了同样的@ApiModelProperty(example =“这里面写了一个json”)
不能同时存在两个json串吗?
因为第一个是能正常显示的
初步怀疑是swagger和spring boot的
    Unable to render this definition
The provided definition does not specify a valid version f...
擦,那得赶紧想办法修理啊。看提示信息一开始我怀疑是swagger版本的问题,但是也不能突然之间就不行了,于是在百度海洋里遨游了一番,说是造成这个错误的原因一般有3点:
1、api中的Controller/Action 请加入[HttpPost]或者 [HTTPGet]
2、api中的Controller中有私有方法(全部写道Service)
3、传入参数模型有问题.
仔细检查了一番,前两点确定没有问题,那就只剩传入参数