最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot整合Swagger2的示例

 更新時(shí)間:2020年11月07日 08:48:54   作者:風(fēng)塵醉獨(dú)行  
這篇文章主要介紹了SpringBoot整合Swagger2的示例,幫助大家更好的理解和學(xué)習(xí)springboot框架,感興趣的朋友可以了解下

一、導(dǎo)入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,詳細(xì)信息......")
            .version("1.0")
            .build());
  }
}

三、添加注解

@RestController
@Api(tags = "用戶管理相關(guān)接口")
@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("根據(jù)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("根據(jù)id更新用戶的接口")
  public User updateUserById(@RequestBody User user) {
    return user;
  }
}

四、注解說明

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

五、如果參數(shù)是一個(gè)對象,對于參數(shù)的描述可以放在實(shí)體類中。

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

六、效果

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

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

以上就是SpringBoot整合Swagger2的示例的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot整合Swagger2的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

浦县| 明溪县| 昌乐县| 阿拉善左旗| 华阴市| 镇赉县| 安福县| 长沙县| 吉木乃县| 望江县| 龙川县| 江川县| 玉树县| 德清县| 辽阳市| 晋城| 婺源县| 连城县| 平潭县| 长春市| 南康市| 岱山县| 武冈市| 高青县| 高尔夫| 黄陵县| 陆河县| 孙吴县| 二手房| 四川省| 巫溪县| 绥棱县| 湟源县| 枞阳县| 博客| 彭州市| 通化县| 错那县| 金阳县| 上虞市| 葵青区|