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.效果如下图