1、安装swagger依赖
io.springfox springfox-boot-starter3.0.0
2、Swagger配置类
package com.qj.springbootswagger3.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.documentationType;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.ArrayList;
@Configuration
@EnableOpenApi
public class SwaggerConfig {
@Value("${swagger.enabled}")
Boolean swaggerEnabled;
@Bean
public Docket docket() {
return new Docket(documentationType.OAS_30)
.apiInfo(apiInfo())
// 是否开启swagger
.enable(swaggerEnabled)
.select()
// 过滤条件,扫描指定路径下的文件
.apis(RequestHandlerSelectors.basePackage("com.cunyu.springbootswagger3demo.controller"))
// 指定路径处理,PathSelectors.any()代表不过滤任何路径
//.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
Contact contact = new Contact("主页生成", "http://192.168.75.200:8080/", "1064432866@qq.com");
return new ApiInfo(
"Spring Boot 集成 Swagger3 测试",
"Spring Boot 集成 Swagger3 测试接口文档",
"v1.0",
"https://github.com/zjtu/spring-study",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList()
);
}
}
3、接口类
package com.qj.springbootswagger3.controller;
import com.qj.springbootswagger3.entity.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags="测试")
@RestController
@RequestMapping("/user")
public class UserController {
@ApiOperation("测试接口1")
@PostMapping("/show1")
public String show1(@ApiParam(value = "姓名",required = true,example ="木鱼")@RequestBody String name){
return "hello"+name+"welcome to swagger3!";
}
public String show2(@ApiParam(value = "用户对象",required = true)@RequestBody User user){
return "hello"+user.getName()+"welcome to swagger!";
}
}
4、启动类
package com.qj.springbootswagger3;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.oas.annotations.EnableOpenApi;
@EnableOpenApi
@SpringBootApplication
public class SpringbootSwagger3Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootSwagger3Application.class, args);
}
}
5、application.yml配置文件
server:
port: 8081
swagger:
enabled: true
spring:
application:
name: springboot-swagger3
6、浏览器端输入http://ip/swagger-ui/index.html#/



