springboot+swagger实现api文档
1.pom.xml配置
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.java代码启用swagger配置
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket getDocket() {
return new Docket(DocumentationType.SWAGGER_2)
//.groupName("v1")
.genericModelSubstitutes(DeferredResult.class)
.useDefaultResponseMessages(false)
.forCodeGeneration(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.auto.controller"))
.build()
.apiInfo(getApiInfo());
}
private ApiInfo getApiInfo() {
Contact contact = new Contact("test", "http://www.test.com", "[email protected]");
ApiInfo apiInfo = new ApiInfo("API接口",//大标题
"REST风格API",//小标题
"0.1",//版本
"www.test.com",
contact,//作者
"主页",//链接显示文字
""//网站链接
);
return apiInfo;
}
}
3.接口Controller swagger配置
@RestController
@RequestMapping("/v1")
@Api(description="文件上传接口")
public class FileUploadController {
@RequestMapping(value="/upload", method=RequestMethod.POST)
@ApiOperation(value="上传文件到指定的路径下",response = ResponseObject.class, notes = "上传文件到指定的路径下")
public ResponseObject<Object> cpicUpload(@ApiParam(value="文件名称")@RequestParam(required=false) String name,
@ApiParam(value="文件",required=true)@RequestParam(required=true) MultipartFile file){
logger.info("进入上传文件接口,开始上传文件。。。。。。name:{}",name);
//自己逻辑
}
4.运行入口
@SpringBootApplication
public class AutoFileApplication extends SpringBootServletInitializer implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(AutoFileApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(AutoFileApplication.class, args);
}
}
5.访问
http://localhost:8080/swagger-ui.html
6.效果如下图