首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring Boot 集成 Swagger,再也不写接口文档了!

Spring Boot 集成 Swagger,再也不写接口文档了!

作者头像
Java技术栈
发布于 2019-07-08 04:06:44
发布于 2019-07-08 04:06:44
56900
代码可运行
举报
文章被收录于专栏:Java技术栈Java技术栈
运行总次数:0
代码可运行

今天栈长给大家介绍下如何与优秀的 Spring Boot 框架进行集成,简直不能太简单。

Spring Boot 集成 Swagger

1、添加依赖

Maven依赖示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- Swagger -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
</dependency>
2、在 Spring Boot 配置文件中添加配置参数。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
swagger:
  title: API标题
  description: API描述
  version: 1.0
  terms-of-service-url: http://www.javastack.cn/
  base-package: cn.javastack.test.web
  contact:
    name: Javastack
    url: http://www.javastack.cn/
    email: admin@javastack.cn
3、添加配置类
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Getter
@Setter
@Configuration
@EnableSwagger2
@ConditionalOnClass(EnableSwagger2.class)
@ConfigurationProperties(prefix = "swagger")
public class SwaggerConfig {

    /**
     * API接口包路径
     */
    private String basePackage;

    /**
     * API页面标题
     */
    private String title;

    /**
     * API描述
     */
    private String description;

    /**
     * 服务条款地址
     */
    private String termsOfServiceUrl;

    /**
     * 版本号
     */
    private String version;

    /**
     * 联系人
     */
    private Contact contact;

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage(basePackage))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(title)
                .description(description)
                .termsOfServiceUrl(termsOfServiceUrl)
                .version(version)
                .contact(contact)
                .build();
    }

}

如何使用

Swagger 默认会根据配置的包,扫描所有接口并生成对应的 API 描述和参数信息,但这样不是很直观,需要对每个接口和参数进行自定义描述。

常用的 Swagger 注解如下。

注解名称

使用说明

@Api

描述一个 API 类

@ApiImplicitParam

描述一个请求参数

@ApiImplicitParams

描述一组请求参数

@ApiModel

描述一个返回的对象

@ApiModelProperty

描述一个返回的对象参数

@ApiOperation

描述一个 API 方法

@ApiParam

描述一个方法的参数

@ApiResponse

描述一个请求响应

@ApiResponses

描述一组请求响应

使用示例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Api(description = "登录模块")
@RestController
public class LoginController {

    @ApiOperation(value = "登录", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "username", value = "用户名", dataType = "string", paramType = "query"),
            @ApiImplicitParam(name = "password", value = "密码", dataType = "string", paramType = "query")})
    @PostMapping(value = "/login")
    public Object login(@RequestParam("username") String username, @RequestParam("password") String password) {

        // ...

    }
}

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

打开 swagger-ui 界面,可以看到所有的 API 接口定义,也可以在上面发起接口测试。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Swagger2自动生产: api文档
输入:http://localhost:8080/swagger-ui.html,能够看到如下页面,说明已经配置成功了: 这里的8080是Boot的默认端口, 根据项目端口更改!
Java_慈祥
2024/08/06
2860
Swagger2自动生产: api文档
测试神器Swagger的相关使用
​ swagge是一个易于使用的API团队协作开发的工作,能用于查看API的生命周期,设计文档和测试开发.因此我们在前后端分离的项目用到Swagge测试和参数获取是再合适不过的了.
Dream城堡
2019/06/05
7660
测试神器Swagger的相关使用
springboot集成Swagger2「建议收藏」
我们提供Restful接口的时候,API文档是尤为的重要,它承载着对接口的定义,描述等。它还是和API消费方沟通的重要工具。在实际情况中由于接口和文档存放的位置不同,我们很难及时的去维护文档。
全栈程序员站长
2022/07/01
2890
springboot集成Swagger2「建议收藏」
Spring Boot (七) 集成Swagger
@Api()用于类; 表示标识这个类是swagger的资源 - @ApiOperation()用于方法; 表示一个http请求的操作 - @ApiParam()用于方法,参数,字段说明; 表示对参数的添加元数据(说明或是否必填等) - @ApiModel()用于类 表示对类进行说明,用于参数用实体类接收 - @ApiModelProperty()用于方法,字段 表示对model属性的说明或者数据操作更改 - @ApiIgnore()用于类,方法,方法参数 表示这个方法或者类被忽略 - @ApiImplicitParam() 用于方法 表示单独的请求参数 - @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
斯文的程序
2019/11/07
6450
SpringBoot集成Swagger2
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单.
用户2929716
2018/08/23
4510
SpringBoot集成Swagger2
Swagger2为程序生成文档
swagger2就相当于一个实时同步文档,给前端提供接口的插件。将平常写注释前面加个注解就可以了,非常的方便,但是生产环境为了安全和运行效率,需要关闭(抄自知乎)
蚊子.
2023/08/10
2890
Swagger2为程序生成文档
spring-boot-route(五)整合Swaager2生成接口文档
目前,大多数公司都采用了前后端分离的开发模式,为了解决前后端人员的沟通问题,后端人员在开发接口的时候会选择使用swagger2来生成对应的接口文档,swagger2提供了强大的页面调试功能,这样可以有效解决前后端人员沟通难的问题。
Java旅途
2020/10/21
7660
spring-boot-route(五)整合Swaager2生成接口文档
springboot04、swagger配置
4、启动效果:【http://127.0.0.1:8088/swagger-ui.html】
红目香薰
2022/11/30
4200
springboot04、swagger配置
Springboot集成swagger2生成接口文档
原文出处:http://www.yund.tech/zdetail.html?type=1&id=89322e28b75270c682abc576595967d4 作者:jstarseven ----
大道七哥
2019/09/29
1.1K0
Springboot集成swagger2生成接口文档
SpringBoot整合Swagger2,再也不用维护接口文档了!
前后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2就是其中之一,至于其他类似功能但是却收费的软件,这里就不做过多介绍了。本文主要和大伙来聊下在Spring Boot中如何整合Swagger2。
江南一点雨
2019/08/30
9690
SpringBoot整合Swagger2,再也不用维护接口文档了!
SpringBoot Swagger2 可视化API
在参考了大部分博客中,发现关于Swagger-ui的文档很多,但是要迅速的完成一个Demo还是需要调试,查找文档,所有记录下了这篇文章. 导入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <d
tanoak
2018/06/06
1.2K0
Spring Boot 集成 Swagger 构建接口文档
在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修改接口文档,就可能造成不必要的麻烦。
武培轩
2020/06/08
1K0
Spring Boot 集成 Swagger 构建接口文档
Spring Boot集成Swagger导入YApi@无界编程
现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率。
Java架构师必看
2020/04/22
3.9K0
SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
方志朋
2017/12/29
9480
SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
接口文档:第二章:使用Swagger接口的文档在线自动生成
上一章:商城接口文档:第一章:简洁版接口文档。花了二天搞了一个比较简洁的接口文档,浪费时间不说,写的也不太好,不满意。这一章使用Swagger接口的文档在线自动生成省下不少时间,而且很规范。
Java廖志伟
2022/09/28
1K0
接口文档:第二章:使用Swagger接口的文档在线自动生成
Spring学习笔记(三十三)——SpringBoot集成Swagger
1. Swagger是什么 Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,可以让你更好的书写API文档规范且完整。
不愿意做鱼的小鲸鱼
2022/09/26
6630
Spring学习笔记(三十三)——SpringBoot集成Swagger
Spring Boot 2.x(十二):Swagger2 的正确玩儿法
简单的来说,Swagger2的诞生就是为了解决前后端开发人员进行交流的时候API文档难以维护的痛点,它可以和我们的Java程序完美的结合在一起,并且可以与我们的另一开发利器Spring Boot来配合使用。
山禾说
2019/03/15
5220
Spring Boot 2.x(十二):Swagger2 的正确玩儿法
开发工具Tools·Swagger
@Profile({"dev", "test"}) 只在开发和测试环境启用 swagger。
数媒派
2022/12/01
9650
Swagger2--自动生成接口文档工具学习
   在swagger2版本中,需要使用swagger2,并可以从浏览器中ui渲染,必须导入两个依赖 (这里放的是使用人数最多的依赖版本)
RAIN7
2022/09/26
3.2K0
SpringBoot 简单集成 Swagger 方法
1:提高工作效率,提升项目API文档品质,因为日常项目研发的过程中产出高质量的文档是非常繁琐且费时的工作。
用户10394238
2023/03/07
5110
相关推荐
Swagger2自动生产: api文档
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档