Spring 整合 Swagger2 生成接口文档

版本说明:

swagger:2.9.2

spring:4.3.6.RELEASE

注:使用springfox集成swagger2,依赖 guava 20.0版本。

Pom依赖:


	4.0.0
	com.captain
	swagger2-demo
	1.0
	war

	
		4.3.6.RELEASE
		2.8.8
		2.9.2
		UTF-8
		UTF-8
	
	
		
			joda-time
			joda-time
			2.9
		
		
			javax.servlet
			javax.servlet-api
			3.1.0
			provided
		
		
			org.springframework
			spring-webmvc
			${spring-version}
		
		
			org.springframework
			spring-web
			${spring-version}
		
		
			org.springframework
			spring-context
			${spring-version}
		
		
			org.springframework
			spring-context-support
			${spring-version}
		
		
			org.springframework
			spring-aop
			${spring-version}
		
		
			org.springframework
			spring-test
			${spring-version}
			test
		
		
			io.springfox
			springfox-swagger2
			${springfox-version}
		
		
			io.springfox
			springfox-swagger-ui
			${springfox-version}
		

		
			com.fasterxml.jackson.core
			jackson-annotations
			${jackson.verson}
		
		
			com.fasterxml.jackson.core
			jackson-core
			${jackson.verson}
		
		
			com.fasterxml.jackson.core
			jackson-databind
			${jackson.verson}
		
		
			com.fasterxml.jackson.module
			jackson-module-jaxb-annotations
			${jackson.verson}
		

		
			org.slf4j
			slf4j-log4j12
			1.7.7
		
	

	
		
			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.1
				
					1.7
					1.7
					UTF8
				
			
			
				maven-war-plugin
				2.4
				
					src/main/webapp
				
			
		
		swagger
	

Spring application.xml配置:



		
 	
	

Swagger配置:

@Configuration
@EnableSwagger2
// 启用资源导入
@EnableWebMvc
public class SwaggerConfig extends WebMvcConfigurerAdapter {

	/**
	 * 静态资源导入
	 */
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
		registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
	}

	/**
	 * 文档配置信息注入
	 * @return
	 */
	@Bean
	public Docket api() {
		return new Docket(DocumentationType.SWAGGER_2).select().build()
				// 是否启用默认响应消息描述(Open Api相关响应状态:如200,404,502等)
				.useDefaultResponseMessages(false)
				// .enable(false) 是否对外提供api
				.apiInfo(apiInfo());
	}

	private ApiInfo apiInfo() {
		return new ApiInfoBuilder().title("标题:XX接口文档").description("描述:接口").version("版本:3.1").build();
	}

}

常用到的注解有:

  • Api
  • ApiModel
  • ApiModelProperty
  • ApiOperation
  • ApiParam
  • ApiResponse
  • ApiResponses
  • ResponseHeader

具体使用查看源码注释。

发布到Web容器,文档访问路径为:

http://ip:port/发布项目名/swagger-ui.html

 

 

 

你可能感兴趣的:(Swagger,Swagger)