SSM整合Swagger和Shiro时出现的问题:
一:启动swagger报错Unable to infer base url. This is common when using dynamic servlet
解决方法
- 在shiro配置文件的自定义的过滤链中加上一下代码:
<!-- swagger有关的不拦截 --> /swagger-ui.html = anon /webjars/** = anon /v2/** = anon /swagger-resources/** = anon <!-- shiro提供了退出登录的配置`logout`, 会生成路径为`logout`的请求,访问这个地址即会退出当前账户并清空缓存 --> /backend/admin/logout = logout
- swagger的配置类只能够在SpringMVC的配置文件中被扫描,不能交给spring容器处理。springMVC只是spring的一个子容器,存在父子关系。如果swagger让spring的context加载,那么swagger的那些url用springmvc的拦截器是拦截不到的
springMVC的配置文件<!-- SpringMVC的配置文件,包含网站跳转逻辑的控制,配置 --> <context:component-scan base-package="com.zgz.traintickets.controller,swagger" use-default-filters="false"> <!-- 只扫描控制器 --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
spring的配置文件之一:
- 注意事项
记得清理浏览器和服务器的缓存