【Spring Boot实战与进阶】整合Swagger3生成接口文档

简介: Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
Spring Boot是很优秀的框架,它的出现简化了新Spring应用的初始搭建以及开发过程,大大减少了代码量,目前已被大多数企业认可和使用。这个专栏将对Spring Boot框架从浅入深,从实战到进阶,不但我们要懂得如何去使用,还要去剖析框架源码,学习其优秀的设计思想。

汇总目录链接:【Spring Boot实战与进阶】学习目录

一、引入依赖

   Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
   总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。Swagger 让部署管理和使用功能强大的 API 从未如此简单。

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

二、配置类

@Configuration
@EnableOpenApi
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("Restful API接口")
                .description("Swagger3接口文档")
                .version("1.0")
                .build();
    }
}

说明:

  • @EnableOpenApi:开启swagger功能(@EnableSwagger2在3.0被移除)

三、Controller测试类

@Api("TestController")
@RestController
public class TestController {
    @ApiOperation(value = "添加用户", notes = "添加用户")
    @PostMapping("/addUser")
    public void addUser() {
    }

    @ApiOperation(value = "获取用户信息", notes = "获取用户信息")
    @GetMapping("/getUser")
    public void getUser() {
    }
}

四、启动项目

访问地址:http://localhost:8080/swagger-ui/index.html
在这里插入图片描述

五、拓展知识

1、如何配置线上时关闭swagger?

# 是否开启swagger,线上环境一般是需要关闭的
springfox:
  documentation:
    auto-startup: false

2、常用的配置注解

Annotation Attribute Target Property Description
ApiModelProperty value ModelProperty#description @ApiModelProperty(value="${property1.description}")
ApiModelProperty description ModelProperty#description @ApiModelProperty(notes="${property1.description}")
ApiParam value Parameter#description @ApiParam(value="${param1.description}"
ApiImplicitParam value Parameter#description @ApiImplicitParam(value="${param1.description}")
ApiOperation notes Operation#notes @ApiOperation(notes="${operation1.description}")
ApiOperation summary Operation#summary @ApiOperation(value="${operation1.summary}")
RequestParam defaultValue Parameter#defaultValue @RequestParam(defaultValue="${param1.defaultValue}")
RequestHeader defaultValue Parameter#defaultValue @RequestHeader(defaultValue="${param1.defaultValue}")
相关文章
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
1302 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
JSON Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的使用
本文详细介绍了Swagger2的使用方法,包括在Spring Boot项目中的配置与应用。重点讲解了Swagger2中常用的注解,如实体类上的`@ApiModel`和`@ApiModelProperty`,Controller类上的`@Api`、`@ApiOperation`以及参数上的`@ApiParam`等。通过示例代码展示了如何为实体类和接口添加注解,并在页面上生成在线接口文档,实现接口测试。最后总结了Swagger的优势及其在项目开发中的重要性,提供了课程源代码下载链接供学习参考。
931 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的使用
|
Java Maven 微服务
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的 maven 依赖
在项目中使用Swagger2工具时,需导入Maven依赖。尽管官方最高版本为2.8.0,但其展示效果不够理想且稳定性欠佳。实际开发中常用2.2.2版本,因其稳定且界面友好。以下是围绕2.2.2版本的Maven依赖配置,包括`springfox-swagger2`和`springfox-swagger-ui`两个模块。
591 0
|
11月前
|
前端开发
SpringBoot2.3.1集成Knife4j接口文档
SpringBoot2.3.1集成Knife4j接口文档
1102 44
|
前端开发 安全 Java
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
|
Java Maven
【SpringBoot专题_02】springboot集成Swagger详细教程
【SpringBoot专题_02】springboot集成Swagger详细教程
218 0
|
Java
SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
1745 0
|
缓存 Java 容器
springboot集成swagger2出现404解决方案汇总
springboot集成swagger2出现404解决方案汇总
1427 0
springboot集成swagger2出现404解决方案汇总
|
前端开发 Java API
springboot 集成swagger
springboot 集成swagger
395 0
|
人工智能 前端开发 安全
SpringBoot实战(八):集成Swagger
SpringBoot实战(八):集成Swagger
284 0

热门文章

最新文章