<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
package com.heima.common.swagger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket buildDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(buildApiInfo())
.select()
// 要扫描的API(Controller)基础包
.apis(RequestHandlerSelectors.basePackage("com.xxx"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo buildApiInfo() {
Contact contact = new Contact("xxxxx","","");
return new ApiInfoBuilder()
.title("xxxx-平台管理API文档")
.description("xxxx后台api")
.contact(contact)
.version("1.0.0").build();
}
}
- 在编写的controller中插入注解
@Api(修饰整个类,描述Controller的作用)及@ApiOperation(描述类中的某个方法或者说接口)@RestController
@RequestMapping("/api/v1/login")
@Api(value = "app用户登录", tags = "app用户登录")
public class ApUserLoginController {
@Autowired
private ApUserService apUserService;
@PostMapping("/login_auth")
@ApiOperation("用户登录")
public ResponseResult login(@RequestBody LoginDto loginDto){
return apUserService.login(loginDto);
}
}
@ApiModelProperty(用对象接收参数时,描述对象的一个字段)@Data
public class LoginDto {
/**
* 手机号
*/
@ApiModelProperty(value = "手机号", required = true)
private String phone;
/**
* 密码
*/
@ApiModelProperty(value = "密码", required = true)
private String password;
}
- 在spring.factories中新增配置
spring.factories位于resources目录下的META-INF目录下,使得在springboot运行时,SpringFactoriesLoader类会去加载上面我们自定义的配置类SwaggerConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.heima.common.swagger.SwaggerConfiguration