springboot集成swagger

目录

swagger介绍

添加swagger依赖

配置swagger2

访问swagger

浏览swagger文档

自定义swagger文档信息

swagger介绍

Swagger是一种用于构建、文档化和测试RESTful Web服务的开源工具集。它包括一组规范和工具,可以帮助开发者设计、构建和维护API(应用程序编程接口)。Swagger的主要目标是简化API开发过程,使API文档易于理解和使用。

以下是Swagger的一些关键特点和组件:

  1. API文档自动生成:Swagger可以从API代码中自动生成文档。它支持多种编程语言和框架,包括Java、C#、Python等。这些文档可以包括有关API端点、请求参数、响应数据等详细信息。

  2. 互动API测试:Swagger UI是Swagger的一个组件,它提供了一个用户友好的界面,允许开发者在不离开文档页面的情况下测试API端点。这有助于快速验证API的行为和功能。

  3. 标准化API规范:Swagger使用OpenAPI规范(以前称为Swagger规范)来描述API。这个规范定义了API的结构,包括路径、HTTP方法、参数、响应等,从而提供了一种标准化的方式来描述API。

  4. 代码生成:Swagger可以根据API规范生成客户端和服务端代码,从而帮助开发者快速构建与API交互的应用程序。

  5. 生态系统:Swagger有一个庞大的生态系统,包括许多第三方工具和插件,可以扩展其功能。这些工具可以用于自定义文档生成、安全性检查、性能监视等。

  6. 支持多种格式:Swagger支持多种数据格式,包括JSON和YAML,以描述API规范和文档。

总之,Swagger是一种有助于简化API开发和文档化过程的工具,它可以提高API的可理解性、可测试性和互操作性。这对于团队合作、客户与供应商之间的沟通以及API的广泛采用都非常有价值。

添加swagger依赖

在本章pig会将swagger与spring boot2集成。前置条件是:

创建maven项目,spring boot相关依赖导入完成, 引入maven依赖。

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version> <!-- 使用最新版本 -->
</dependency>

配置swagger2

配置Swagger2:创建一个配置类,用于配置Swagger2。在这个类上使用@EnableSwagger2注解启用Swagger2,并配置Swagger的一些属性。以下是一个示例配置类:

  1. 请确保将your.package.name替换为你的Controller类所在的包路径。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.basePackage("your.package.name")) // 指定扫描的Controller包
            .paths(PathSelectors.any())
            .build();
    }
}

访问swagger

运行应用程序:现在,你的Spring Boot应用程序已经配置好了Swagger2。启动应用程序,然后访问Swagger UI,通常在以下URL上:

http://localhost:8080/swagger-ui.html

如果你的应用程序不是在默认端口8080上运行,应该将端口号替换为你的应用程序的端口号。

浏览swagger文档

Swagger UI将显示你的API文档,你可以在那里浏览并测试API端点。

这些步骤涵盖了如何将Swagger2集成到Spring Boot 2.x应用程序中。一旦集成完成,你可以使用Swagger来生成、文档化和测试你的API。确保在生产环境中禁用Swagger,以防止未经授权的访问。

自定义swagger文档信息

  1. 自定义API信息

    • 在Swagger规范文件中,可以指定API的标题、描述、版本、作者等信息。这些信息将出现在Swagger UI中。
  2. 自定义路径和操作

    • 为每个API路径自定义描述和摘要信息,以便用户更好地理解API的用途。
    • 为每个操作自定义描述、摘要、参数说明等信息。
  3. 参数自定义

    • 指定每个API操作所需的参数,并提供参数的描述、类型、格式等信息。
    • 使用x-*扩展字段可以添加自定义信息,例如x-example来提供示例值。

则我们可以自己去定义ApiInfo, 返回自定义的apiInfo放到接口文档里。

    private ApiInfo apiInfo(){
        Contact contact = new Contact("大力pig的博客","https://blog.csdn.net/m0_53753920?spm=1011.2266.3001.5343", "");
        return new ApiInfo(
                "大力pig的swagger文档",
                "在小的帆船也能远航",
                "1.0",
                "https://blog.csdn.net/m0_53753920?spm=1011.2266.3001.5343",
                contact,
                "",
                "",
                new ArrayList<>()
        );
    }

自定义的apiInfo放到Docket对象的apiinfo信息里,如果我们想要多个组,可以创建多个docket对象。 

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.jin.controllder")) // 指定扫描的Controller包
                .paths(PathSelectors.any())
                .build();
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot集成Swagger,你需要做以下几个步骤: 1. 首先,确保你使用的是Spring Boot 2.5.x及之前的版本。因为从Spring Boot 2.6.x开始,Swagger已经从Spring Boot中移除了。 2. 在你的Spring Boot应用中添加Swagger的依赖。在pom.xml文件中,添加以下依赖: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> ``` 3. 在启动类上添加`@EnableSwagger2`注解。这个注解会启用Swagger的功能。你可以将这个注解直接添加到你的Spring Boot启动类上,或者创建一个单独的配置类,在配置类中添加这个注解。 4. 配置Swagger的相关属性。你可以在`application.properties`或`application.yml`文件中添加以下配置: ```yaml springfox.documentation.swagger.v2.path=/swagger springfox.documentation.swagger.ui.enabled=true ``` 这些配置将指定Swagger的路径和UI的启用状态。 5. 编写API文档。在你的控制器类中,使用Swagger的注解来描述你的API接口。例如,你可以使用`@Api`注解来给你的控制器类添加一个API的描述,<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)](https://blog.csdn.net/lsqingfeng/article/details/123678701)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值