教你怎么用SpringBoot整合Swagger作为API

前言

相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。而自动生成接口文档的框架就是我们今天的主角Swagger!

一、基本使用

使用时需要导入下面的依赖:

<!--引入swagger,自动生成api说明文档-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

然后书写下面的配置类即可完成配置!

@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {
}

浏览器访问http://localhost:8910/swagger-ui.html,即可可以看到下面的界面:

二、自定义描述内容

@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                //是否启动swagger
//                .enable(false)
                .groupName("卢泽龙")
                .select()
                //RequestHandlerSelectors:配置要扫描的接口方式
//                    basePackage : 指定要扫描的包
                    .apis(RequestHandlerSelectors.basePackage("org.lzl.laboratory.controller"))
//                    any:扫描全部
//                    .apis(RequestHandlerSelectors.any())
//                    none:不扫描
//                    .apis(RequestHandlerSelectors.none())
//                    withClassAnnotation:扫描类上的注解
//                    .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
//                    withMethodAnnotation:扫描方法上的注解
//                    .apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))
                //path() 过滤什么路径
//                    .paths(PathSelectors.ant("/lzl/**"))
                .build();
    }

 //配置swagger信息 ==> apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("卢泽龙","https://blog.csdn.net/MoastAll","382491212@qq.com");

        return new ApiInfo(
                "云上实验室的API文档说明",
                "abcdefg",
                "v1.0",
                "https://blog.csdn.net/MoastAll",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        );
    }
 }

其中如果有这样的需求:在dev,test环境中开启swagger,其他环境不开启swagger,我们只需要给Docket加上下面的environment参数,再用acceptsProfiles方法来判断环境是否符合要求!

使用的效果为:

三、给下面的models和接口一些提示信息

1.给实体类加入下面的注解

http://localhost:8910/swagger-ui.html的models就会呈现下面的界面:

2.给controller加上下面的注解

就会出现下面的提示信息:

到此这篇关于教你怎么用SpringBoot整合Swagger作为API的文章就介绍到这了,更多相关SpringBoot整合Swagger作为API内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot整合Swagger和Actuator的使用教程详解

    前言 本篇文章主要介绍的是SpringBoot整合Swagger(API文档生成框架)和SpringBoot整合Actuator(项目监控)使用教程. SpringBoot整合Swagger 说明:如果想直接获取工程那么可以直接跳到底部,通过链接下载工程代码. Swagger 介绍 Swagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计.构建.记录以及使用 Rest API.Swagger 主要包含了以下三个部分: Swagger Editor:基于浏览器的编辑器,我们

  • SpringBoot整合Swagger框架过程解析

    Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法.参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步.Swagger 让部署管理和使用功能强大的 API 从未如此简单. 引入maven依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <de

  • SpringBoot整合Swagger的方法示例

    依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactI

  • SpringBoot整合Swagger2代码实例

    首先遵循SpringBoot的三板斧 第一步添加依赖 <!-- SwaggerUI 接口文档 http://{ip}:{prot}/swagger-ui.html --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>{version}</version> <

  • SpringBoot整合Swagger3生成接口文档过程解析

    前后端分离的项目,接口文档的存在十分重要.与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低.与新版的swagger3相比swagger2配置更少,使用更加方便. 一.pom文件中引入Swagger3依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId

  • SpringBoot整合Swagger2的步骤详解

    简介 swagger是一个流行的API开发框架,这个框架以"开放API声明"(OpenAPI Specification,OAS)为基础, 对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计.编码和测试,几乎支持所有语言). springfox大致原理: springfox的大致原理就是,在项目启动的过种中,spring上下文在初始化的过程, 框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成api文档那些类,

  • 关于springboot整合swagger问题及解决方法

    一.前言 解决了一个困扰很久的问题.自己搭建的一个springboot项目,整合完jsp之后可以正常访问前端界面,但当再整合上swagger之后,前端界面就无法访问了.当注释掉swagger之后,前端界面又可以正常访问. 二.整合jsp 1.pom引入 <!-- 添加jsp引用 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-

  • SpringBoot整合Swagger2实例方法

    在进行软件开发的时候免不了要写接口文档,这些文档需要明确写出接口的类型.请求的URL.传参和返回值格式等信息,用于和前端交互或者提供给测试进行接口测试.但是手写文档一方面带给我们很大的工作量,另一方面如果接口有变更则需要频繁修改并且发给相关的人,无形中增加了工作量.小编为大家介绍一个生成文档的工具Swagger,上手简单,学习成本低,非常适合开发SpringBoot项目,现在就跟着小编一起学习吧. 首先需要在pom文件中加入swagger2的依赖,依赖的jar包如下图所示. <dependenc

  • SpringBoot整合Swagger2的示例

    一.导入maven包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <a

  • 教你怎么用SpringBoot整合Swagger作为API

    前言 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档.但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释.所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了.而自动生成接口文档的框架就是我们今天的主角

  • SpringBoot集成Swagger构建api文档的操作

    最近在做项目的时候,一直用一个叫做API的东西,controller注解我会写,这个东西我也会用,但是我确实不知道这个东西是个什么,有点神奇.关键还坑了我一次,他的注解会影响到代码的运行,不光是起到注解的作用.所以我就研究了一下. Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspector:测试API和生成OpenAPI的开发工具.Swagger Inspector的建立是为了解决开发者的三个主要目标. 1

  • SpringBoot使用swagger生成api接口文档的方法详解

    目录 前言 具体例子 maven配置 项目application.yml配置 springApplication添加swagger注解 在控制层添加swagger注解 前言 在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档 具体可以查看本站spring boot系列文章: spring boot项目使用mybatis-plus代码生成实例 具体例子 maven配置 在使用之前,我们需要添加s

  • Spring Boot整合Swagger测试api构建全纪录

    什么是Swagger? Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspector:测试API和生成OpenAPI的开发工具.Swagger Inspector的建立是为了解决开发者的三个主要目标. 执行简单的API测试 生成OpenAPI文档 探索新的API功能 我的理解Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大

  • SpringBoot如何优雅的整合Swagger Api自动生成文档

    目录 前言 整合swagger api 自定义配置信息 简单使用 Swagger常用注解 Api标记 ApiOperation标记 ApiParam标记 ApiModel标记 ApiModelProperty标记 ApiIgnore标记 ApiImplicitParam标记 ApiImplicitParams标记 总结 前言 一个好的可持续交付的项目,项目说明,和接口文档是必不可少的,swagger api 就可以帮我们很容易自动生成api 文档,不需要单独额外的去写,无侵入式,方便快捷大大减少

随机推荐