SpringMVC 整合 Swagger2 前端报错

swagger-ui.min.js:2 Uncaught TypeError: Cannot read property 'definitions' of null
    at t.exports.a.resolve (swagger-ui.min.js:2)
    at swagger-ui.min.js:2
    at t.exports.a.finish (swagger-ui.min.js:3)
    at t.exports.a.convert (swagger-ui.min.js:3)
    at response (swagger-ui.min.js:2)
    at l (swagger-ui.min.js:2)
    at e.on.response (swagger-ui.min.js:2)
    at swagger-ui.min.js:2
    at f.callback (swagger-ui.min.js:10)
    at f.<anonymous> (swagger-ui.min.js:9)

前端报错信息

 

Swagger配置如下:

SwaggerConfig.java

@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig extends WebMvcConfigurationSupport {

	@Bean
	public Docket api() {
		System.out.println("----XIN----2018/7/11 下午12:58 Line:22,当前类=SwaggerConfig.api()");
		return new Docket(DocumentationType.SWAGGER_2).select()
				/***
				 * 重要的两个方法: apis():指定要生成文档的接口包基本路径 paths():指定针对哪些请求生成接口文档
				 * 参考官方资料:http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api
				 ****/
				// .apis(RequestHandlerSelectors.any())
				.apis(RequestHandlerSelectors.basePackage("com.gzh.controller")).paths(PathSelectors.any()).build()
				.apiInfo(apiInfo());
	}

	private ApiInfo apiInfo() {
		return new ApiInfoBuilder().title("XXX项目接口文档").description("XXX API接口文档").version("1.0.0").termsOfServiceUrl("")
				.license("").licenseUrl("").build();
	}

}

Spring-mvx.xml

<context:annotation-config />
	<!--将静态资源交由默认的servlet处理 -->
	<mvc:default-servlet-handler />
	<!--重要!配置swagger资源不被拦截 -->
	<mvc:resources mapping="swagger-ui.html"
		location="classpath:/META-INF/resources/" />
	<mvc:resources mapping="/webjars/**"
		location="classpath:/META-INF/resources/webjars/" />
	<!--重要!将你的SwaggerConfig配置类注入 -->
	<bean id="swaggerConfig"
		class="com.gzh.config.SwaggerConfig" />

pom.xml

<!--springfox的核心jar包-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <!--springfox-ui的jar包(里面包含了swagger的界面静态文件)-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>
        
        <dependency>  
            <groupId>com.fasterxml.jackson.core</groupId>  
            <artifactId>jackson-core</artifactId>  
            <version>2.6.3</version>  
        </dependency>  
        <dependency>  
            <groupId>com.fasterxml.jackson.core</groupId>  
            <artifactId>jackson-databind</artifactId>  
            <version>2.6.3</version>  
        </dependency>  
        <dependency>  
            <groupId>com.fasterxml.jackson.core</groupId>  
            <artifactId>jackson-annotations</artifactId>  
            <version>2.6.3</version>  
        </dependency>
        <!-- swagger -->

 

看起来好像是jar包里面的,可以试着用新版本的knife4j。

被拦截了 你是否有引用登录验权相关jar包 
 

升级一下swagger-model包应该就行了吧