springboot 接口文档_第010课:SpringBoot 集成Swagger接口文档

Swagger 可以自动生成在线接口文档,界面可视化的同时保证了便利的测试接口。

1. Swagger2 介绍

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。

随着前后端技术的日渐成熟,前后端的交互就只有接口了,前端请求接口获取数据,所以接口的格式化也就相当重要,有一个标准格式的接口文档在开发过程中是相当重要的,swagger就是这么一个在线的接口文档,在SpringBoot的集成之中也相当便利。

2. maven 配置Swagger2依赖

创建一个SpringBoot web 项目,然后在pom.xml中添加如下依赖:

    io.springfox    springfox-swagger-ui    2.2.2    io.springfox    springfox-swagger2    2.2.2

3. Swagger2 配置

在Springboot启动类的同级目录下面创建一个config的包,然后创建一个配置Swagger2 的配置类。

package com.bowen.config;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.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * 

springboot-study

 * 

Swagger 配置类

 * @author : zhang.bw * @date : 2020-08-01 16:16 **/@Configuration@EnableSwagger2public class SwaggerConfig {    @Bean    public Docket createRestApi() {        return new Docket(DocumentationType.SWAGGER_2)                // 指定构建api文档的详细信息的方法:apiInfo()                .apiInfo(apiInfo())                .select()                // 指定要生成api接口的包路径,这里把controller作为包路径,生成controller中的所有接口                .apis(RequestHandlerSelectors.basePackage("com.bowen.controller"))                .paths(PathSelectors.any())                .build();    }    /**     * 构建api文档的详细信息     * @return     */    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                // 设置页面标题                .title("Spring Boot 集成Swagger接口文档")                // 设置接口描述                .description("Spring Boot 技术栈快速实战课程")                // 设置联系方式                .contact("微信公众号【猿码天地】," + "https://blog.csdn.net/zbw125")                // 设置版本                .version("1.0")                // 构建                .build();    }}

配置代码说明:

  1. 使用 @Configuration 注解,标识这是一个配置类,项目启动的时候会自动调用加载,@EnableSwagger2 注解的作用是自动开启swagger2。
  2. apiInfo() 方法里面的参数可以自己设定,在第一个方法中,我们除了可以根据接口所在的包对应生成接口文档还可以根据项目中是否有方法使用了 @ApiOperation注解来判断是否生成api文档。

4. Controller 测试编写以及注解说明

上面我们配置好了swagger api生成的配置之后就可以编写测试的controller,创建一个与config同级的包controller,然后里面写一个TestController

package com.bowen.controller;import com.bowen.entiy.JsonResult;import com.bowen.entiy.User;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import io.swagger.annotations.ApiParam;import org.springframework.web.bind.annotation.*;/** * 

springboot-study

 * 

测试Controller

 * @author : zhang.bw * @date : 2020-08-01 16:16 **/@RestController@RequestMapping("/test")@Api(value = "Swagger2 在线接口文档")public class TestController {    @GetMapping("/get/{id}")    @ApiOperation(value = "根据用户ID获取用户信息")    public JsonResult getUserInfo(@PathVariable @ApiParam(value = "用户ID") Long id) {        User user = new User(id, "猿码天地", "微信公众号【猿码天地】");        return new JsonResult(user);    }    @PostMapping("/insert")    @ApiOperation(value = "添加用户信息")    public JsonResult insertUser(@RequestBody @ApiParam(value = "用户信息") User user) {        // 业务逻辑省略        return new JsonResult<>();    }}

@RestController 相当于@Controller+@ResponseBody 注解,让标识的这个类返回json格式的数据。

类上面加上@Api的注解,说明这个类要生成api文档,并给予描述。相当于可以根据这个类作为类别的划分。在类里面的方法加上@ApiOperation 注解 用来描述这个方法(接口)是用来做什么的。

5. 接口测试

完成配置后,启动项目,浏览器输入localhost:8080/swagger-ui.html

fc47b7f575b87d11a3d372eab8e49b85.png

swagger-ui页面

测试一个接口,根据用户ID获取用户信息:

e2e18183c951dffc66099c7edba8f536.png

swagger-ui页面

返回结果:

3dc97e3e1b5725e8b0121ea28e6c1b1e.png

swagger-ui页面

6. 总结

本文主要讲解了swagger2的配置,用法,以及测试,整个流程都讲解的非常详细,相信通过本节课程的学习,对Spring Boot 集成Swagger接口文档有了全面的认识。

7. 源码获取

我是猿人,一个在互联网打拼的工具人,Java研究猿,感谢各位点赞、收藏和评论,我们下期见!
文章持续更新,可以 私信 001 免费获取源码和文档!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行程实践、外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值