首页 > 其他分享 >SpringBoot集成Swagger

SpringBoot集成Swagger

时间:2022-08-19 17:15:54浏览次数:43  
标签:集成 springfox Swagger SpringBoot ui 注解 new swagger

一、pom.xml中引入如下依赖:

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

二、编辑resource/application.yml文件,添加如下配置:

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

三、SwaggerConfig配置类的编写

/**
 * @project
 * @Description
 * @Author songwp
 * @Date 2022/8/19 16:01
 * @Version 1.0.0
 **/

@Configuration
//配置类
@EnableSwagger2
//开启swagger2的自动配置
public class SwaggerConfig {
    private static final String TOKEN_HERDER_KEY = "token";

    /**
     * swagger文档配置
     */
    @Bean
    public Docket customDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.songwp.controller"))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(this.getParameterList());// 全局配置
    }


    /**
     * 添加head参数配置
     */
    private List<Parameter> getParameterList() {
        ParameterBuilder clientIdTicket = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        clientIdTicket.name(TOKEN_HERDER_KEY).description("token令牌")
                .modelRef(new ModelRef("string"))
                .parameterType("header")
                .required(false).build(); //设置false,表示clientId参数 非必填,可传可不传!
        pars.add(clientIdTicket.build());
        return pars;
    }


    /**
     * api相关配置
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("swagger 接口文档")
                .contact(new Contact("songwp", "http://localhost:8080/swagger-ui.html", ""))
                .description("swagger-bootstrap-ui")
                .termsOfServiceUrl("http://localhost:8080/swagger-ui.html")
                .version("1.0")
                .build();
    }

四、Swagger常用注解:

//在Controller层的应用:
//1.在类上应用的注解:
@Api(tags = "这是一个控制器类")
//2.在具体请求方法上的注解:
@ApiOperation(value = "功能总述" , notes = "具体描述")
@ApiParam(value = "请求参数说明")

//在POJO层的应用:
//1.在类上应用的注解:
@ApiModel(description = "XX实体类")
//2.在实体类属性上应用的注解:
@ApiModelProperty(value = "属性说明")

五、访问Swagger-UI

Swagger版本为2.9.2:
直接访问:localhost:8080/swagger-ui.html

Swagger版本为3.0.0:
直接访问:localhost:8080/swagger-ui/index.html

六、访问如下图:

标签:集成,springfox,Swagger,SpringBoot,ui,注解,new,swagger
From: https://www.cnblogs.com/songweipeng/p/16602627.html

相关文章

  • 超简单实现将swagger文档转word
    超简单实现将swagger文档转word1、项目pom文件引入依赖包:<dependency><groupId>io.springfox</groupId><artifactId>springfox-swag......
  • SpringBoot-常用配置类
    1.WebMvcConfigMVC的配置类需要继承WebMvcConfigurationSupport类,通过重写方法来实现需要的功能。自定义的对象映射器,设置序列化或反序列化时格式转换。例如:解决了MP雪......
  • SpringBoot 整合flyway
    目录【pom.xml】【启动类】【配置属性类】【配置类】【配置文件】【IDEA插件支持】【参考文章】前言:本文章专用于因版本问题导致springboot整合flyway不成功无法自动迁移......
  • SpringBoot简介
    SpringBoot简介回顾什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简......
  • Win10系统持续集成
    使用工具:jdk+jmeter+Ant+jenkinsjdk-1.8.0_241版本【安装参考链接:https://blog.51cto.com/u_15463439/5226803】jenkins-2.346.3版本【安装参考链接:https://www.jianshu.......
  • 关于SpringBoot整合redis使用Lettuce客户端超时问题
    问题起因使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用。原因是:Lettuce自适应拓扑刷新(Adaptiveupdates)与定时拓扑刷新(Peri......
  • docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版
    一、前言redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。redis有两种高可用的方案:HighavailabilitywithRedisSen......
  • Springboot 通过FastJson实现bean对象和Json字符串互转
    Json格式在后台服务中的重要性就不多说了,直入正题。首先引入pom文件,这里使用的是1.2.83版本1<dependency>2<groupId>com.alibaba</groupId>3......
  • springBoot配置文件properties和yml数组写法
    springBoot配置文件properties和yml数组写法springBoot配置文件properties和yml数组写法这里介绍一下springBoot中的两种文件配置方式中数组的使用,也就是集合。以下是......
  • springboot
    @Controller:标识一个Spring类是Spring MVC controller处理器@RestController:@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用@Controller......