亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在SpringBoot環境如何實現整合Swagger2

發布時間:2020-11-07 16:03:25 來源:億速云 閱讀:135 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關在SpringBoot環境如何實現整合Swagger2,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、導入maven包 

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>

二、添加工具類

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .pathMapping("/")
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.nvn.controller"))
        .paths(PathSelectors.any())
        .build().apiInfo(new ApiInfoBuilder()
            .title("SpringBoot整合Swagger")
            .description("SpringBoot整合Swagger,詳細信息......")
            .version("1.0")
            .build());
  }
}

三、添加注解

@RestController
@Api(tags = "用戶管理相關接口")
@RequestMapping("/user")
public class UserController {

  @PostMapping("/")
  @ApiOperation("添加用戶的接口")
  @ApiImplicitParams({
      @ApiImplicitParam(name = "username", value = "用戶名", defaultValue = "李四"),
      @ApiImplicitParam(name = "address", value = "用戶地址", defaultValue = "深圳", required = true)
  }
  )
  public RespBean addUser(String username, @RequestParam(required = true) String address) {
    return new RespBean();
  }

  @GetMapping("/")
  @ApiOperation("根據id查詢用戶的接口")
  @ApiImplicitParam(name = "id", value = "用戶id", defaultValue = "99", required = true)
  public User getUserById(@PathVariable Integer id) {
    User user = new User();
    user.setId(id);
    return user;
  }
  @PutMapping("/{id}")
  @ApiOperation("根據id更新用戶的接口")
  public User updateUserById(@RequestBody User user) {
    return user;
  }
}

四、注解說明

  • @Api注解可以用來標記當前Controller的功能。
  • @ApiOperation注解用來標記一個方法的作用。
  • @ApiImplicitParam注解用來描述一個參數,可以配置參數的中文含義,也可以給參數設置默認值,這樣在接口測試的時候可以避免手動輸入。
  • 如果有多個參數,則需要使用多個@ApiImplicitParam注解來描述,多個@ApiImplicitParam注解需要放在一個@ApiImplicitParams注解中。
  • @ApiImplicitParam注解中雖然可以指定參數是必填的,但是卻不能代替@RequestParam(required = true),前者的必填只是在Swagger2框架內必填,拋棄了Swagger2,這個限制就沒用了,所以假如開發者需要指定一個參數必填,@RequestParam(required = true)注解還是不能省略。
     

五、如果參數是一個對象,對于參數的描述可以放在實體類中。

@ApiModel
public class User {
  @ApiModelProperty(value = "用戶id")
  private Integer id;
  @ApiModelProperty(value = "用戶名")
  private String username;
  @ApiModelProperty(value = "用戶地址")
  private String address;
  //getter/setter
}

六、效果

在SpringBoot環境如何實現整合Swagger2

附:如果我們的Spring Boot項目中集成了Spring Security,那么如果不做額外配置,Swagger2文檔可能會被攔截,此時只需要在Spring Security的配置類中重寫configure方法,添加如下過濾即可:

@Override
public void configure(WebSecurity web) throws Exception {
  web.ignoring()
      .antMatchers("/swagger-ui.html")
      .antMatchers("/v2/**")
      .antMatchers("/swagger-resources/**");
}

以上就是在SpringBoot環境如何實現整合Swagger2,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

寿阳县| 洞头县| 定南县| 广安市| 宁国市| 宝坻区| 个旧市| 哈尔滨市| 南汇区| 改则县| 准格尔旗| 正宁县| 和龙市| 中宁县| 杭锦后旗| 盐源县| 互助| 天门市| 黄陵县| 翼城县| 张北县| 谷城县| 德兴市| 许昌市| 瑞金市| 克山县| 黔东| 肇庆市| 宿迁市| 西城区| 米脂县| 安徽省| 陵水| 栾川县| 曲周县| 贺州市| 双鸭山市| 宜川县| 芷江| 青田县| 荣成市|