栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot集成Swagger3

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot集成Swagger3

SpringBoot集成Swagger3

文章目录
  • SpringBoot集成Swagger3
    • 1、Maven项目引入swagger依赖
    • 2、接口相关配置(WebMvcConfig类)
    • 3、添加静态资源映射(WebMvcConfig类)
    • 4、不拦截接口路径(WebMvcConfig类)
    • 5、Swagger常用注解

swagger官网: API Documentation & Design Tools for Teams | Swagger


1、Maven项目引入swagger依赖
       
            io.springfox
            springfox-boot-starter
            3.0.0
        

        
        
            com.github.xiaoymin
            swagger-bootstrap-ui
            1.9.6
        

2、接口相关配置(WebMvcConfig类)

完整代码见:reggie_take_out - Gitee.com

package com.example.config;
... ...
    

@Slf4j
@Configuration
// 增加的注解
@EnableOpenApi
public class WebMvcConfig extends WebMvcConfigurationSupport {
    
   @Bean
    public Docket productApi() {
        //添加head参数start
//        RequestParameterBuilder tokenPar = new RequestParameterBuilder();
        List pars = new ArrayList<>();
        //这个位置设置请求头:比如令牌
      
        return new Docket(DocumentationType.SWAGGER_2).select()
                // 扫描的包路径
                .apis(RequestHandlerSelectors.basePackage("com.example.controller"))
                // 定义要生成文档的Api的url路径规则
                .paths(PathSelectors.any())
                .build()
                .globalRequestParameters(pars)
                // 设置swagger-ui.html页面上的一些元素信息。
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // 标题
                .title("外卖系统")
                // 描述
                .description("接口文档")
                // 文档版本
                .version("1.0")
                .license("Apache License Version 2.0")
                .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0")
                .build();
    }
}


3、添加静态资源映射(WebMvcConfig类)
  
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始进行静态资源映射......");
        registry.addResourceHandler("/backend
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns(BaseUrls.urls)
                .excludePathPatterns("/error")
                // 不需要拦截接口文档,需要放行的资源
                .excludePathPatterns("/doc.html","/swagger-resources/**", "/webjars/**", "/swagger-ui/**", "/v3/**");
    }
    

以上配置好即可启动项目,访问本地IP+/doc.html


5、Swagger常用注解
注解说明
@Api用在请求的类上,例如Controller层的类,表示对类的说明
@ApiModel用在类上,通常是实体类,表示一个返回响应数据的信息
@ApiModelProperty用在属性上,描述响应类的属性
@ApiOperation用在请求的方法上,说明方法的用途、作用
@ApilmplicitParams用在请求的方法上,表示一组参数说明
@ApilmplicitParan用在@ApilmplicitParams注解中,指定一个请求参数的各个方面
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/939722.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号