一、前言
springfoxswagger
swaggerAPIAPIOpenAPI SpecificationOASAPI
OASAPIAPIGETPOSTheaderYAMLjsonjson
SpringMarty PittSpringswagger-springmvcswaggerspringmvcspringfoxspringfoxspringfox-swagger2
pringfox-swagger2OSAAPIjsonjsonspringfox-swagger-uijson
springfox-swagger2
二、配置流程说明
在开始编码之前,我们先对配置的流程有个大致的了解。
OSAjsonspringspringfoxDocketBeanspringSwagger
OSAAPIspringfoxApiInfoDocketnullAPI灏卞おlow
springfoxspringfoxAPIAPI
OSAjsonhttp://localhost:8080/demo/v2/api-docsjsonv2/api-docsspringfox
swagger-springmvcswagger uihttp://localhost:8080/demo/v2/api-docsswagger uijsonspringfoxspringfox-swagger-uihttp://localhost:8080/demo/swagger-ui.html
三、引入依赖
springfox swagger2
mavenhttp://mvnrepository.comspringfoxSpringfox Swagger2Springfox Swagger Ui
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
此外还需要一个依赖组件:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.6</version> </dependency>
四、一个简单的配置文件
configSwaggerConfig.javaspring
先上代码(这里参考了博客http://blog.csdn.net/u012476983/article/details/54090423:
@Configuration //必须存在 @EnableSwagger2 //必须存在 @EnableWebMvc //必须存在 @ComponentScan(basePackages = {"com.xiaoming.SpringMVC.controller"}) //必须存在 扫描的API Controller package name 也可以直接扫描class (basePackageClasses) public class SwaggerConfig{ @Bean public Docket customDocket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()); } private ApiInfo apiInfo() { Contact contact = new Contact("小明", "http://www.cnblogs.com/getupmorning/", "zhaoming0018@126.com"); return new ApiInfoBuilder() .title("前台API接口") .description("前台API接口") .contact(contact) .version("1.1.0") .build(); } }
IDEimport
SwaggerConfig@Configuration@EnableWebMvc@ComponentScanSpring@EnableSwagger2SwaggerSpring Swagger
BeanCustomDocketSpringDocketDocumentationType.SWAGGER_2Docketswagger2.03.0apiInfoapiInfoDocketapiInfoApiInfoBuilderApiInfo
五、一个控制器
springfox swagger
@Controller @RequestMapping("/test") public class TestController { @ApiOperation(value="一个测试API",notes = "第一个测试api") @ResponseBody @RequestMapping(value = "/hello",method = RequestMethod.GET) public String hello() { return "hello"; } }
@ApiOperationspringmvc
api
六、查看接口文件和文档
http://localhost:8080/demo/v2/api-docs

FirefoxJSON
descriptionversiontitleTestController
http://localhost:8080/swagger-ui.html
