1、第一步:引入依赖,在项目的pom文件中引入swagger的依赖,如下。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
2 、第二步,在启动类中配置注解@EnableOpenApi。
package com.nq.user.server;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import springfox.documentation.oas.annotations.EnableOpenApi;
@EnableOpenApi
@SpringBootApplication
public class UserServerApplication {
public static void main(String[] args) {
SpringApplication.run(UserServerApplication.class, args);
}
}
3、第三步,编写配置类,新建config包,在包下新建SwaggerConfig类,如下:
package com.nq.user.server.config;
import io.swagger.annotations.ApiOperation;
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;
//接口文档+测试工具
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("用户接口服务")
.description("提供用户相关的增删改查等功能")
.contact(new Contact("nq", "http://www.kgc.cn", "******@163.com"))
.version("1.0")
.build();
}
}
自己命名title,description,contact,version,分别为标题,描述,联系方式,版本。
4、第四步,在controller中增加注解@API,方法上增加注解@ApiOperation,参数前加@ApiParam,如下:
@Api(tags = "用户的增删改查接口")
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@ApiOperation("根据用户名查询用户")
@GetMapping("/users")
public User getUserByUserName(@RequestParam("userName") @ApiParam("用户登录名") String userName){
System.out.println(userService.getUserByUserName(userName).toString());
return userService.getUserByUserName(userName);
}
}
5、最后一步,验证:打开浏览器输入网址,http://localhost:8081/swagger-ui/,端口号为自己在配置文件中自己设置的。页面如下:
try it out 自己试一试吧!感谢!