前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot-10 Swagger

SpringBoot-10 Swagger

作者头像
张小驰出没
发布2021-04-15 16:00:11
3510
发布2021-04-15 16:00:11
举报
文章被收录于专栏:用户8506532的专栏

SpringBoot-10 Swagger

Swagger基础搭建

1.导入依赖

代码语言:javascript
复制
<dependency>
    <groupId>io.springfoxgroupId>
    <artifactId>springfox-swagger2artifactId>
    <version>2.9.2version>
dependency>
<dependency>
    <groupId>io.springfoxgroupId>
    <artifactId>springfox-swagger-uiartifactId>
    <version>2.9.2version>
dependency>

2.创建SwaggerConfig

代码语言:javascript
复制
@Configuration
@EnableSwagger2   //开启Swagger2
public class SwaggerConfig {
}

3.进行测试

这里要注意测试网址:http://localhost:8080/swagger-ui.html

Swagger配置设置

配置文件都在SwaggerConfig中:

代码语言:javascript
复制
//配置了Swagger的Docket的bean实例
@Bean
public Docket docket(){
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo());
}
代码语言:javascript
复制
private ApiInfo apiInfo(){
    Contact DEFAULT_CONTACT = new Contact("zc", "https://www.moyuzc.cn/", "moyu_zc@163.com");
    return new ApiInfo(
        "Swagger2 Test",                                //标题
        "zc第一个测试",                                   //描述
        "1.0",                                          //版本号
        "https://www.moyuzc.cn/",                       //网址
        DEFAULT_CONTACT,                                //上方设置的信息,名称、网址、邮箱地址
        "Apache 2.0",                                   //版权
        "http://www.apache.org/licenses/LICENSE-2.0",   
        new ArrayList());                              
}

进行测试:

扫描接口及开关

创建两个配置接口,dev、test

application.properties

代码语言:javascript
复制
spring.profiles.active=dev

application-dev.properties

代码语言:javascript
复制
server.port=8081

application-test.properties

代码语言:javascript
复制
server.port=8082

设置要显示的Swagger环境

代码语言:javascript
复制
Profiles of = Profiles.of("dev","test");

environment.acceptsProfiles(of) 判断是否处于自己设定的环境

代码语言:javascript
复制
boolean flag = environment.acceptsProfiles(of); flag = environment.acceptsProfiles(of);

通过flag返回的boolean值判断能否进入

代码语言:javascript
复制
return new Docket(DocumentationType.SWAGGER_2)
    .apiInfo(apiInfo())
    .enable(flag)
    .select()
    .apis(RequestHandlerSelectors.basePackage("com.zc.controller"))
    .build();

分组

1.配置分组名称

groupName(“zczc”) 使用这个方法,可以更改分组名称

代码语言:javascript
复制
return new Docket(DocumentationType.SWAGGER_2)
    .apiInfo(apiInfo())
    .groupName("zczc")
    .enable(flag)
    .select()
    .apis(RequestHandlerSelectors.basePackage("com.zc.controller"))
    .build();

2.配置多个分组

另外增加A、B、C分组

代码语言:javascript
复制
@Bean
public Docket docket1(){
    return new Docket(DocumentationType.SWAGGER_2)
        .groupName("A");
}
@Bean
public Docket docket2(){
    return new Docket(DocumentationType.SWAGGER_2)
        .groupName("B");
}
@Bean
public Docket docket3(){
    return new Docket(DocumentationType.SWAGGER_2)
        .groupName("C");
}

接口注释

1.初步配置

创建实体类

代码语言:javascript
复制
public class User {
    public String username;
    public String password;
}

修改Controller类

代码语言:javascript
复制
@PostMapping("/user")
public User user(){
    return new User();
}

因为在之前,SwaggerConfig类中已经扫描了Controller包,所以在分组正确的情况下,可以直接测试

2.添加接口注释

实体类添加注释

代码语言:javascript
复制
@ApiModel("用户实体类")
public class User {
    @ApiModelProperty("用户名")
    public String username;
    @ApiModelProperty("密码")
    public String password;
}

Controller类加入注释

代码语言:javascript
复制
@ApiOperation("Hello2方法")
@GetMapping("/hello2")
public String hello2(@ApiParam("用户名") String username){
    return "hello"+username;
}

个人博客为: MoYu’s HomePage MoYu’s Gitee Blog

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringBoot-10 Swagger
    • Swagger基础搭建
      • 1.导入依赖
      • 2.创建SwaggerConfig
      • 3.进行测试
    • Swagger配置设置
      • 扫描接口及开关
        • 分组
          • 1.配置分组名称
          • 2.配置多个分组
        • 接口注释
          • 1.初步配置
          • 2.添加接口注释
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档