SpringBoot学习历程(八):集成Swagger2(2.9.2版本)构建RESTful API

SpringBoot中使用Swagger生成RESTful规范API文档 Swagger是为了描述一套标准的而且是和语言无关的REST API的规范。对于外部调用者来说,只需通过Swagger文档即可清楚Server端提供的服务,而不需去阅读源码或接口文档说明。 官方网站为:http://swagger.io 中文网站:http://www.sosoapi.com 背景 前后端分离 1、前后端仅仅通过异步接口(AJAX/JSON)来编程 2、前后端都 阅读详情

前言

现在的架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,前端和后端唯一联系,变成了API接口;swagger就是一款让你更好的维护API文档的框架。

  • Swagger官网:https://swagger.io/
  • github仓库地址:https://github.com/RabbitsInTheGrass/springBoot-Learning
  • 本人所用springboot版本为2.1.9

1. 引入依赖

<!-- 引入swagger2依赖 -->
<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>

2. 开启配置

2.1 开关设置

在application.yml 中加入

spring:
  swagger:
    enable: true

true表示启用,false表示关闭

2.2 config配置

package com.rabbits.learn.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @Description: Swagger2配置信息
 * @Author: RabbitsInTheGrass_xj
 * @Date: 2019/10/4 10:36
 */
@EnableSwagger2
@Configuration
@ConditionalOnProperty(name = "spring.swagger.enable", havingValue = "true")
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(buildApiInf())
                .select()
                //扫描的swagger接口包路径
                .apis(RequestHandlerSelectors.basePackage("com.xj.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo buildApiInf() {
        return new ApiInfoBuilder()
                //标题
                .title("RabbitsInTheGrass的用Swagger2构建RESTful API文档")
                .description("更多SpringBoot相关文章请关注:https://blog.youkuaiyun.com/RabbitInTheGrass")
                .termsOfServiceUrl("https://blog.youkuaiyun.com/RabbitInTheGrass/article/details/102026732")
                //作者
                .contact(new Contact("RabbitInTheGrass", "https://blog.youkuaiyun.com/RabbitInTheGrass", "xiqiyeyou@163.com"))
                //版本
                .version("1.0")
                .build();
    }
}

@ConditionalOnProperty(name = “spring.swagger.enable”, havingValue = “true”)该注解标识@Configuration注解开启的条件。
name对应application.yml中的参数;
havingValue表示条件值。

2.3 在main方法中开启对Swagger的支持

启动类增加@EnableSwagger2的注释。

2.4 Swagger2常用注解

  • @Api: 修饰整个类,描述Controller的作用;
  • @ApiIgnore: 忽略该Controller,指不对当前类做扫描
  • @ApiOperation: 描述Controller类中的method接口
  • @ApiParam: 单个参数描述,与@ApiImplicitParam不同的是,他是写在参数左侧的。如(@ApiParam(name = “username”,value = “用户名”) String username)
  • @ApiModel: 描述POJO对象
  • @ApiProperty: 描述POJO对象中的属性值
  • @ApiImplicitParam: 描述单个请求入参信息
  • @ApiImplicitParams: 描述多个请求入参信息
  • @ApiResponse: 描述单个出参信息
  • @ApiResponses: 描述多个出参信息
  • @ApiError: 接口错误所返回的信息

对应于HTTP协议中的方法注解:

  • @GetMapping对应HTTP中的GET方法;
  • @PostMapping对应HTTP中的POST方法;
  • @PutMapping对应HTTP中的PUT方法;
  • @DeleteMapping对应HTTP中的DELETE方法;
  • @PatchMapping对应HTTP中的PATCH方法。

2.5 在controller类增加相关注解

package com.rabbits.learn.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Description: 测试一下
 * @Author: RabbitsInTheGrass_xj
 * @Date: 2019/10/1 09:31
 */
@RestController
@RequestMapping("/home")
@Api(value = "我的hello层")
public class HomeController {

    @ApiOperation(value = "打招呼", notes = "开始的一个hello")
    @GetMapping("hello")
    public String sayHello() {
        return "Hello RabbitsInTheGrass, welcome!!!";
    }
}

2.6 测试

启动项目后访问 http://localhost:8080/swagger-ui.html ,效果图如下:
在这里插入图片描述

SpringBoot 精通系列-使用Swagger2构建RESTful APIs 导语   在之前的博客中曾经说过关于SpringBoot RESTful架构的知识,也提供了一个简单的小例子,当然在实际工作中更多的使用的是Swagger来实现一个RESTful的API。那么下面就来看看如何利用Swagger来构建一个RESTful APIs 文章目录什么是Swagger快速开发导入依赖POM文件创建SwaggerConfig的配置类Swagger 常用注解@Api@ApiO... 阅读详情

相关推荐

SpringBoot与Swagger2结合的RESTful API开发指南

SpringBoot是一种基于Spring框架的轻量级启动框架,它简化了基于Spring的应用开发过程。SpringBoot的目的是为开发者提供快速、广泛采纳的开发方式,让构建独立的、产品级别的Spring应用变得容易。通过约定优于配置的原则,SpringBoot能够使开发者快速启动并运行新的Spring项目。对于5年以上的IT从业者来说,SpringBoot的出现极大地提高了开发效率和项目的可维护性。

weixin_42163404的博客 661

springboot整合swagger错误

错误介绍 2021-11-27 00:21:38.420 INFO 205300 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2021-11-27 00:21:38.432 INFO 205300 --- [ main] ConditionEvaluationReportLoggingListener : Error starting Appl

夙白风语的博客 2382

springfox-spring-web-2.9.2.jar

springfox-spring-web-2.9.2

springboot 集成 Swagger2 配置以及常用注解的说明和使用 ( 超详细)

一、注解的使用 和 说明结构化说明如下: @Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" (也就是给类取别名) value="该参数没什么意义,在UI界面上也看到,所以不需要配置" @ApiOperation:用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" notes="方法的备注说明" @ApiImplicitParams:用在请求的方法上,表示一组参数说明 @Ap

m0_63180675的博客 6646

springfox-spi-2.9.2-API文档-中文版.zip

赠送jar包:springfox-spi-2.9.2.jar; 赠送原API文档:springfox-spi-2.9.2-javadoc.jar; 赠送源代码:springfox-spi-2.9.2-sources.jar; 赠送Maven依赖信息文件:springfox-spi-2.9.2.pom; 包含翻译后的API文档:springfox-spi-2.9.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:io.springfox:springfox-spi:2.9.2; 标签:springfox、spi、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

Burp靶场实战:JWT签名绕过漏洞分析与利用

本文通过Burp Suite靶场实战,深入剖析了JWT签名绕过漏洞的多种攻击手法,包括签名未验证、alg:none攻击、弱密钥爆破、JWK/JKU头注入、KID路径遍历及算法混淆攻击。文章详细演示了利用过程,并提供了关键的防御指南,帮助开发和安全人员加固JWT实现,确保认证安全。

weixin_29325515的博客 597

报错Error creating bean with name ‘documentationPluginsBootstrapper‘ defined in URL

接口路径写重复了!

weixin_51293984的博客 2082

TI DSP的 FFT与IFFT库函数的使用测试

/** * Copyright (C) 2013 Guangzhou Tronlong Electronic Technology Co., Ltd. - www.tronlong.com * * @file dsplib_fft.c * * @brief Example application main file. * This application will run FFT performance test. * * @author Tronlong <support@tron.

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 2678

springboot集成swagger2.9.2

1.准备 springboot 版本 2.2.3 swagger 版本2.9.2(这个版本集成之后访问swagger主界面可能会报数字转换异常java.lang.NumberFormatException,空字符串的变量转换成Long类型时异常,即实体类中的属性转换异常。因为这个版本规定@ApiModelProperty如果是Integer类型的时候,如果example这个属性没有赋值,默认是空字符串,然后空字符串转换成Long报错。) ...

qq_40286198的博客 2477

ADS 2024实战:手把手教你搞定CGH40010F的Doherty功放仿真与版图(附避坑指南)

本文详细介绍了使用ADS 2024进行CGH40010F Doherty功放从仿真到版图的全流程设计,涵盖器件建模、稳定性分析、负载牵引匹配和版图联合仿真等关键步骤。特别针对新手常见问题提供避坑指南,帮助工程师高效完成射频功放设计,提升5G基站和雷达系统的性能。

weixin_42528191的博客 221

Pandas实战指南:从数据结构到清洗聚合的完整解析

在数据分析工作中,表格数据处理是最常见的需求,无论是电商运营还是量化交易,都离不开对结构化数据的清洗与转换。Python生态中,Pandas凭借Series与DataFrame两种核心数据结构,将数据标签与数值绑定,实现自动对齐,极大简化了数据操作流程。它不仅是数据清洗的利器,也是分组聚合、透视表分析和时间序列处理的基础工具。掌握Pandas,意味着能够高效完成从数据读取、缺失值处理、类型转换到分组统计的完整分析流水线,将重复性报表工作自动化。本文基于实际使用经验,系统梳理Pandas的核心概念、常用操作、

weixin_30768881的博客 258

SpringBoot集成springfox-swagger2构建restful API

Springboot集成springfox-swagger2构建restful API,Springmvc集成springfox-swagger2构建restful API,

兴国-为梦想而战 3万+

联想开天N70z/N79Z G1d笔记本Win驱动下载

本文介绍了联想开天N70Z/N79Z G1d笔记本在Win11系统下的驱动安装方法。提供了WiFi网卡驱动(RealtekWlan)和显卡驱动(ZX C960 GPU)的详细安装步骤,包括手动更新驱动和卸载流程。驱动安装后成功支持5G WiFi连接并正确识别显卡型号。文中附有系统信息和安装效果截图,同时提供了官方驱动下载地址及备用下载链接。该指南适用于需要为联想开天N70Z/N79Z G1d笔记本安装Win11驱动的用户参考。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 3885

SpringBoot集成Swagger2

本章节主要介绍SpringBoot项目集成Swagger2的一些相关知识,包括集成版本、依赖、集成方式、以及简单的使用。官方提供的SwaggerUI太low,本篇集成了knife4j,在可视化方面有了大大的提示,操作更加人性化。Swagger是一个restful规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的 工具。在后端服务定义好参数格式以及方法,启动服务后网页即可访问接口信息文档 ,并且在网页端可进行接口测试。Swagger让部署管理和使用功能强大的API变得非常简单。 2.代码配置

Oaklkm的博客 5987

29、网络支持技术:CDN、覆盖网络与无标度网络解析

本文详细解析了CDN路由方式与性能指标,探讨了覆盖网络与无标度网络的特性及其在云计算和现代网络中的应用。文章分析了CDN的关键技术与挑战,介绍了覆盖网络与小世界网络的基本原理,并深入讨论了无标度网络的构建算法、性能优化策略以及在多个领域的应用案例。最后,文章展望了未来网络技术发展趋势与无标度网络的结合潜力。

night的博客 91

I2C通信——时序图

本文用逻辑分析仪抓取主机I2C通信的时序图,抓取的过程是读某个寄存器的值。

weixin_43772611的博客 7356

SpringBoot集成Swagger2生成Api文档

只需添加少量注解,就可生成详细的接口文档以及ui界面,提高开发效率

a1939504134的博客 2776

注册GitHub时出现Unable to verify your captcha response.Please visit https://docs.github.com/解决方案(持续更新)

本文主要介绍了注册GitHub时出现Unable to verify your captcha response. Please visit https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha for troubleshooting information.解决方案,希望能对学习使用GitHub的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

SpringBoot2 集成swagger2.9.2

POM.XML <!--swagger--> <!-- 文档自动生成 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2&l...

Rorschach 2270

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SpringBoot 集成 Swagger 构建Restful Api 文档

Swagger 是一个简单但功能强大的 API 表达工具。它具有地球上最大的 API 工具生态系统,数以千计的开发人员,使用几乎所有的现代编程语言,都在支持和使用 Swagger。使用 Swagger 生成 API,我们可以得到交互式文档,自动生成代码的 SDK 以及 API 的发现特性等。 使用 Spring Boot 集成 Swagger 的理念是,使用注解来标记出需要在 API 文档中展示的...

. 536

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【swagger2】SpringBoot集成springfox-swagger2构建restful API

springboot整合swagger2 文章SpringMVC集成springfox-swagger2构建restful API简单写了如何在springmvc中集成swagger2。这边记录下在springboot中如何集成swagger2,其实使用基本相同。 一、引入依赖 使用maven,在pom.xml中引用相关依赖(swagger版本2.4.0,springboot的版本为2.1.5.RELEASE): <dependency> <groupId>io..

ooooooooooooooxiaosu的博客 372

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

springboot集成Swagger2构建RESTful API文档

什么是Swagger2 可以自行百度了解 Swagger2提供了什么能力 随项目自动生成强大RESTful API文档,减少工作量 API文档与代码整合在一起,便于同步更新API说明 页面测试功能来调试每个RESTful API 集成Swagger2 1.修改pom.xml, 添加Swagger2依赖 &lt;dependency&gt; &lt;groupId&gt;io...

沐宇熙IT成长之路 1305

SpringBoot中集成Swagger2

Swagger是非常流行的API框架,能够自动生成RESTFul 风格的API文档,还可以在线测试后台接口。使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。前后端分离的开发模式下,前端通过后端的API文档来进行开发和联调,效率更高。

这是我的笔记本,记录学习历程,分享学习经验,菜鸡一枚,感谢支持! 1444

Spring Boot中使用Swagger2构建RESTful API文档

转载声明:商业转载请联系作者获得授权,非商业转载请注明出处 © wekri 随着时间推移,不断修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致不一致现象 添加Swagger2依赖 在pom.xml中添加swagger2依赖 &lt;dependency&gt; &lt;gr...

Eacter的专栏 5411

SpringBoot学习总结(9)之使用Swagger2构建RESTful API文档

一、RESR简介 REST 这个词是Roy Thomas Fielding 在他2000 年的博士论文中提出的, Fielding 是一个非常重要的人,他是HTTP 协议( 1.0 版和1.1 版)的主要设计者、Apache 服务器软件的作者之一、Apache 基金会的第一任主席。所以,他的这篇论文发表后,就引起了广泛关注,并且对互联网开发产生了深远的影响。 Fielding 将他对互联网软件...

jokeMqc的博客 491

springboot集成swagger2,构建优雅的Restful API

swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字。 一、引入依赖        &lt;dependency&gt;            &lt;groupId&gt;io.springfox&lt;/groupId&...

m0_37897396的博客 258
上一篇: SpringBoot学习历程(七):集成Thymeleaf模板引擎
下一篇: windows10家庭版安装Docker for Windows
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RabbitsInTheGrass

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值