是时候把你的Sawgger2.x升级到Swagger-ui 3.0.0了

介绍

Swagger 是可以为我们提供通过代码和注解自动生成Rest API 文档,这一点对于保证 API 文档的及时性将有很大的帮助

Swagger 是一套基于 OpenAPI 规范(OpenAPI Specification,OAS)构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。

Swagger 提供了一个可视化的UI页面展示描述文件。接口的调用方、测试、项目经理等都可以在该页面中对相关接口进行查阅和做一些简单的接口请求。该项目支持在线导入描述文件和本地部署UI项目。

新特性

  • 移除了2.x版本的冲突版本,移除了guava等。
  • 移除了@EnableSwagger2
  • 新增了springfox-boot-starter
  • 其他。

集成

删除之前的依赖,直接使用最新的starter方式。

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

然后应用主类增加注解@EnableOpenApi,删除之前版本的SwaggerConfig.java

启动项目,访问地址:http://localhost:8088/swagger-ui/index.html,注意2.x版本中访问的地址的为http://localhost:8088/swagger-ui.html

配置

  • 拦截配置
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.
                addResourceHandler("/swagger-ui/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-	swagger-ui/")
                .resourceChain(false);
    }

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/swagger-ui/")
                .setViewName("forward:/swagger-ui/index.html");
    }
}

  • Swagger描述配置
@Configuration
public class Swagger3Config {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Swagger3接口文档")
                .description("文档描述")
                .contact(new Contact("wuhao", "#", "1131960938@qq.com"))
                .version("1.0")
                .build();
    }
}
  • SpringSecurity拦截配置
 private static final String[] AUTH_WHITELIST = {
            "/swagger-ui.html",
            "/swagger-ui/*",
            "/swagger-resources/**",
            "/v2/api-docs",
            "/v3/api-docs",
            "/webjars/**"
    };
 .antMatchers(AUTH_WHITELIST).permitAll()

常用注解

  • @Api:用在controller类,描述API接口
  • @ApiOperation:描述接口方法
  • @ApiModel:描述对象
  • @ApiModelProperty:描述对象属性
  • @ApiImplicitParams:描述接口参数
  • @ApiResponses:描述接口响应
  • @ApiIgnore:忽略接口方法
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值