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的配置文件之一:

- 注意事项
记得清理浏览器和服务器的缓存