SpringBoot Swagger

配置环境

application.properties
application-dev.properties
application-pro.properties

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

pom.xml

<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger-ui</artifactId>
	<version>3.0.0</version>
</dependency>
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger2</artifactId>
	<version>3.0.0</version>
</dependency>
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-boot-starter</artifactId>
	<version>3.0.0</version>
</dependency>

访问路径

http://localhost:8080/swagger-ui/index.html#/

配置类

SwaggerConfig.java

@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {
    //分组
    @Bean
    public Docket docket1(){
        return new Docket(DocumentationType.OAS_30).groupName("group2");
    }
    //配置了Swagger的Docket的bean实例
    @Bean
    public Docket docket(Environment environment){
        //设置要显示的Swagger环境
        Profiles profiles = Profiles.of("dev","default");
        //判断是否处在自己设定的环境当中
        boolean flag = environment.acceptsProfiles(profiles);
        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .groupName("kuangshen")
                .enable(flag)//是否启用
                .select()
                //RequestHandlerSelectors,配置要扫描接口的方式
                //RequestHandlerSelectors.basePackage("com.kuang.swagger.controller"):指定要扫描的包
                //RequestHandlerSelectors.any():扫描全部
                //RequestHandlerSelectors.none():不扫描
                //RequestHandlerSelectors.withClassAnnotation(RestController.class):扫描类上的注解
                //RequestHandlerSelectors.withMethodAnnotation(GetMapping.class):扫描方法的注解
                .apis(RequestHandlerSelectors.basePackage("com.kuang.swagger.controller"))
                //paths 过滤什么路径
                //.paths(PathSelectors.ant("/kuang/**"))
                .build();
    }
    //配置Swagger信息
    private ApiInfo apiInfo(){
        //联系方式
        Contact contact = new Contact("健康", "php.kongfiao.com", "776151931@qq.com");
        return new ApiInfo(
                "狂神的SwaggerAPI文档",
                "即使再小的帆也能远航",
                "v1.0",
                "http://php.kongfiao.top",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }
}

HelloController.java

@Api(tags = "你好控制")
@RestController
public class HelloController {
    @ApiOperation("你好")
    @GetMapping (value = "/hello")
    public String hello(){
        return "hello";
    }
    //只要我们的接口中,返回值中存在实体类,它就会被扫描到Swagger中
    @PostMapping (value = "/user")
    public User uesr(){
        return new User();
    }
    @ApiOperation("你好用户名")
    @GetMapping (value = "/hello2")
    public String hello2(@ApiParam("用户名") String username){
        return "hello"+username;
    }
    @ApiOperation("添加用户")
    @GetMapping (value = "/addUser")
    public User addUser(@ApiParam("用户")  User user){
        return user;
    }
}

User.java

@ApiModel("用户实体类")
public class User {
    @ApiModelProperty("用户名")
    private String username;
    @ApiModelProperty("密码")
    private String password;
}
posted @ 2022-03-08 09:55  Ampwensn  阅读(54)  评论(0)    收藏  举报
Live2D