spring boot 集成 swagger3

举报
没毛的刷子 发表于 2023/08/08 09:19:12 2023/08/08
【摘要】    Swagger 3是一种开源的API描述工具,它可以帮助开发人员设计、构建、文档化和测试API。Swagger 3支持多种编程语言和框架,包括Java、Node.js、Python、Ruby等,并提供了许多集成工具和插件,例如Postman、Apigee等。

 


        Swagger 3是一种开源的API描述工具,它可以帮助开发人员设计、构建、文档化和测试API。Swagger 3支持多种编程语言和框架,包括Java、Node.js、Python、Ruby等,并提供了许多集成工具和插件,例如Postman、Apigee等。 Swagger 3使用OpenAPI规范来描述API,这是一种通用的API描述语言,适用于各种编程语言和框架。OpenAPI规范定义了API的基本结构、请求和响应的参数、头部信息、路径、HTTP方法和安全方案等。通过使用Swagger 3,开发人员可以从API文档中快速了解API的特点和功能,有效简化了API的构建维护。 在使用Swagger 3时,您需要在项目中添加Swagger 3依赖项,并配置好Swagger 3配置文件。然后您可以使用注释标记您的API端点以及请求和响应类和字段等,Swagger 3会根据这些注释生成API文档并提供UI界面进行浏览和测试等操作。


引入依赖

注:不需要额外依赖,只需要下面一个就能完成

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

配置文件

​
spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

​

swagger配置类

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

import java.util.ArrayList;

/**
 * swagger配置
 */
@Configuration
public class SwaggerConfig {

    Boolean swaggerEnabled = true;

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                // 是否开启
                .enable(swaggerEnabled)//true
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.***.***")//配置扫描的路径
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("****接口文档")
                .contact(new Contact("clc", "http://www.baidu.com", "clc@x.com"))
                .version("1.0")
                .description("基本的一些接口说明")
                .license("Apache 2.0 许可") // 许可
                .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0") // 许可链接
                .extensions(new ArrayList<>()) // 拓展
                .build();
    }

}

常用注解

Swagger3 常用注解 使用位置
@Api 在 Java 类上添加该注解。
@ApiOperation 在 Java 类的方法上添加该注解。
@ApiParam 在 Java 类的方法参数上添加该注解。
@ApiResponses 在 Java 类的方法上添加该注解。
@ApiSecurity 在 Java 类的方法上添加该注解。
@ApiModel 在 Java 类的方法参数或返回值上添加该注解。
@ApiImplicitParams 在 Java 类的方法参数上添加该注解。
@ApiHeader 在 Java 类的方法参数或返回值上添加该注解。
@ApiFormData 在 Java 类的方法参数或返回值上添加该注解。
@ApiUseDefaultValues 在 Java 类的方法参数上添加该注解。


请求地址http://localhost:端口/swagger-ui/index.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。