Spring Boot整合Swagger2

Spring Boot 2.0整合Swagger2.8 Spring Boot 2.0整合Swagger2.8 Swagger简介 Swagger是一系列RESTful API 的工具, 通过Swagger可以获得项目的一种交互式文档, 客户端SDK的自动生成等功能. 从 Swagger Github 的官方主页摘录: The goal of Swagger™ is to define a standard, language-agno... 阅读详情

GitHub:SpringBootDemo
Gitee:SpringBootDemo
微信公众号:在这里插入图片描述

0. 开发环境

  • IDE:IntelliJ IDEA 2017.1 x64

  • jdk:1.8.0_91

  • Spring Boot:2.1.1.RELEASE


1. 引入依赖

<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. 新建Swagger2配置类

package cn.wbnull.springbootdemo.boot;

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;

@Configuration
@EnableSwagger2
public class GlobalSwagger2 {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //生成api文档扫描路径
                .apis(RequestHandlerSelectors.basePackage("cn.wbnull.springbootdemo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //页面标题
                .title("SpringBootDemo Api")
                //作者
                .contact(new Contact("dukunbiao(null)", "https://github.com/dkbnull/SpringBootDemo", ""))
                //版本号
                .version("1.0")
                //描述
                .description("Base Java 1.8")
                .build();
    }
}

3. Restful接口增加注解

package cn.wbnull.springbootdemo.controller;

import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Scope("prototype")
@Api(tags = "登录接口")
public class LoginController extends BaseController {

    @PostMapping(value = "/login")
    @ApiOperation("登录接口")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "sign", value = "签名", required = true, dataType = "String"),
            @ApiImplicitParam(name = "timestamp", value = "时间戳", required = true, dataType = "String"),
            @ApiImplicitParam(name = "data", value = "请求数据", required = true, dataType = "String")
    })
    public JSONObject login(
            @RequestParam(value = "sign") String sign,
            @RequestParam(value = "timestamp") String timestamp,
            @RequestParam(value = "data") String data
    ) throws Exception {
        return baseService.login(data);
    }
}

4. 测试

启动程序

浏览器访问 ip:port/context-path/swagger-ui.html 即可进入Api文档页面,博主这里地址为:http://localhost:8090/springbootdemo/swagger-ui.html
在这里插入图片描述
展开某个接口后可以看到具体求参数与返回参数
在这里插入图片描述
点击 Try it out 按钮可以进行测试,其中红框输入请求参数,输入后点击Execute
在这里插入图片描述
可以看到返回信息
在这里插入图片描述

5. Swagger2常用注解

@Api():注解类,描述Controller的作用
	tags = ”描述Controller的作用“
@ApiOperation():注解方法,描述具体接口的作用
	value=“具体说明接口的作用”
    notes="接口方法备注“
@ApiImplicitParams():注解接口方法,描述一组请求参数,可以包含多个@ApiImplicitParam()
@ApiImplicitParam():注解接口方法,描述一个具体的请求参数
	name:请求参数名
	value:请求参数描述
	required:是否必传
	dataType:参数类型
	defaultValue:默认值
@ApiResponses():注解接口方法,描述一组HTTP返回值,可以包含多个@ApiResponse()
@ApiResponse():注解接口方法,描述一个HTTP响应信息
	code:HTTP返回值
    message:返回信息
    response:抛出异常的类
@ApiModel():注解Model,描述响应数据Model类
@ApiModelProperty():注解属性,描述响应Model类的属性

@ApiIgnore():注解类,表示忽略这个Api

微信:https://mp.weixin.qq.com/s/hAg-sBKurC5QtcA5JFzjTQ
微博:https://weibo.com/ttarticle/p/show?id=2309404447241761849549
知乎:https://zhuanlan.zhihu.com/p/95993014


[Java实战]Spring Boot 整合 Swagger2 (十六) 阅读详情

相关推荐

Spring Boot(二十八):Spring Boot整合 Swagger2

前后端分离后,维护接口文档基本上是必不可少的工作。 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却收费的...

u013938578的博客 422

Swagger 常用注解使用详解2:@ApiParam @PathVariable @RequestParam三者区别

1.@ApiParam 顾名思义,是注解api的参数,也就是用于swagger提供开发者文档,文档中生成的注释内容。    @ApiOperation( value = "编辑公告", notes = "编辑公告", httpMethod = "POST" ) @RequestMapping( value = "/edit", method = RequestMethod.POST ...

香草天空Sky的博客 2万+

Spring Boot与Swagger2集成指南:整合Spring Security和JWT

在软件开发生命周期中,API文档的编写和维护是一个不可或缺的环节。传统的API文档编写通常枯燥乏味且易出错,Swagger2作为一种现代API开发工具,通过自动生成接口文档、提供交互式API测试环境等方式,大大提高了开发效率并减少了人为错误。初始化Swagger2后,下一步是定义API信息。这通常包括API的名称、版本、描述以及一些其他元数据。这些信息会在Swagger UI中显示,并且有助于终端用户理解API的基本信息。以下是一个例子:@Bean.select().build();

weixin_28736145的博客 974

Swagger 常用注解使用详解

在controller层使用@RequestParam的时候,发现这个参数是必须要输入值的,但是我们有时候必须查询的时候允许参数为空,使用这个注解就不行了。 在集成了swagger2后,找了半天的原因,发现使用@ApiImplicitParam这个注解可以解决这个问题。 常用注解 -@Api()用于类; 表示标识这个类是swagger的资源 -@ApiOperation()用于方法; 表示一个http请求的操作 -@ApiParam()用于方法,参数,字段说明; 表示对参数的添加元...

IT_small bird 的博客 1581

告别数据丢失焦虑:用Python手把手实现Reed-Solomon码(附完整代码)

本文详细介绍了如何使用Python实现Reed-Solomon纠错码(RS码),帮助开发者有效防止数据丢失。通过基础编解码实战、文件保护方案和高级性能优化技巧,读者可以轻松掌握这一前向纠错技术,应用于物联网、文件存储和网络传输等场景,提升数据可靠性。

weixin_42527160的博客 224

ADS 使用调整器动态调参教程(Tuning)

ADS动态调参教程

weixin_42845306的博客 1万+

swagger测试和后台传参标签备忘

swagger测试和后台传参标签备忘 在项目中使用@RequestParam Map<String, Object> params 标签时发现在swagger接口页面上无法进行测试,传入params参数时格式均不正确,最后改用@RequestBody进行传参,可以以json的格式向服务端传入参数。 标签说明 @RequestParam 可以用get方法,参数为url?xxx=xxx格...

xiaopingguo521的博客 1243

华为2024机考真题集合

2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以 2,所得的结果就是中位数。在实际考试中会随机抽三道题目进行考察,其中两道100分卷题和一道200分卷题,总共400分。幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个。3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数。1.众数是指一组数据中出现次数量多的那个数,众数可以是多个。

qq_25360769的博客 5093

swagger2注解

swagger2是通过扫描很多的注解来获取数据帮我们展示在ui界面上的,下面就介绍下常用的注解。

KEEP 963

VFIO框架源码分析(一)- 从初始化到设备访问

本文深入剖析了Linux内核中的VFIO(Virtual Function I/O)框架,详细解读了其从初始化到设备访问的全过程。VFIO通过Container->Group->Device的层次化设计,利用IOMMU提供安全隔离,允许用户空间直接访问物理设备。文章基于Linux v5.15版本,重点分析了vfio_init模块入口、Container创建与配置、Group关联以及最终设备访问等关键环节,揭示了VFIO如何通过逐层授权机制构建安全可靠的设备直通模型,为虚拟化技术提供核心支持。

qq_36071928的博客 380

ANSYS Twin Builder实战:5步搞定数字孪生模型部署(附ROM配置技巧)

本文详细解析了ANSYS Twin Builder在数字孪生模型部署中的实战应用,重点介绍了ROM(降阶模型)配置技巧。通过5个关键步骤,从环境搭建到工业部署,帮助工程师高效实现高精度三维仿真到轻量化数字孪生的转化,提升预测性维护和系统仿真效率。

weixin_27330481的博客 661

07 Spring Boot整合 Swagger2

1. swagger简介 swagger是一个流行的API开发框架,这个框架以“开放API声明”(OpenAPI Specification,OAS)为基础, 对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 总体目标是使客户端...

数据知道的博客 2万+

YOLO11改进|注意力机制篇|引入ELA注意力机制

YOLO11添加ELA注意力机制

A1983Z的博客 3648

Swagger2以及Spring Boot整合Swagger2教程

Swagger 是一个规范和完整的框架,用于生成、描述、功能调用测试和可视化 RESTful 风格的在线的接口文档工具。Swagger 是一套基于 OpenAPI 规范(OpenAPI Specification,OAS)构建的开源工具。Swagger 提供了一套通过代码和注解自动生成可视化的 RESTful 风格的API文档,符合 RESTful API设计的行业标准。

yubin1285570923的博客 2042

基于龙虾Claw的会议纪要自动提取与重点内容总结办公场景实践

本文介绍如何使用龙虾Claw构建会议纪要自动提取与重点内容总结系统,实现会议内容的智能处理。

一键难忘的博客 254

PINN疲劳寿命预测优化

本项目基于物理信息神经网络(PINN)构建材料疲劳寿命预测模型,通过融合Paris裂纹扩展方程与实验数据,实现裂纹扩展行为的精准预测。核心方法包括:1)将Paris方程作为物理约束嵌入神经网络训练;2)生成含噪声的模拟数据并进行归一化处理;3)采用PINN-GA联合优化框架,以裂纹扩展速率最小化为目标优化材料参数。该方案通过物理规律与数据驱动的结合,显著提升预测模型的泛化能力,为工程材料寿命评估提供新思路。

huanghm88的专栏 146

spring boot整合Swagger2

定义了只有dev和test环境才会加载swagger,所以如果你部署起来需要放开端口,请把环境设置成test,prod为了安全性是强制不让开的。为了保证接口文档的安全,禁用了生产环境的加载,具体说明请看:https://sns.bladex.vip/q-39.html。Spring Boot 项目中如果集成了 Spring Security,在不做额外配置的情况下,Swagger2 文档会被拦截。使用 Swagger 我们可以快速生成一个接口文档网站,接口一旦发生变化,文档就会自动更新,

andrew_dear的博客 804

精雕软件(JDpaint) 5.5 绿色版

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

Spring Boot实战|整合Swagger2

Spring Boot整合Swagger2;添加依赖;Swagger2配置;编写application.properties文件;创建接口;

LJY_Qt的博客 760

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Spring boot整合 Swagger2 以及遇到的坑

2.2.2版本的与feign有冲突! 会报bean创建加载异常!  这是个坑不想网友们再遇到同样的错误. ----------------------------------------------------------------------------------------------- 二、Swagger2配置文件类: import org.springframework.context.annotation.Bean; import org.springframework.c

m0_67613962的博客 519

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Spring Boot 实战(12)springboot 整合 swagger2

现如今,前后端分离已经逐渐成为互联网项目一种标准的开发方式,前端与后端交给不同的人员开发,但是项目开发中的沟通成本也随之升高,这部分沟通成本主要在于前端开发人员与后端开发人员对WebAPI接口的沟通,Swagger2 就可以很好地解决,它可以动态生成Api接口文档,降低沟通成本,促进项目高效开发。Swagger2 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

2501_90391999的博客 853

swagger2 配置访问路径_Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2

前后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却...

weixin_29051811的博客 2156

Spring boot整合swagger2和定时器

前后端分离开发模式中,api文档是最好的沟通方式。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。及时性(接口变更后,能够及时准确的通知前后端开发人员)规范性(并且保证接口的规范性,如接口的地址,请求方式,参数,响应格式和错误信息)一致性(接口信息一致,不糊出现文档版本不一致产生分歧)可测性(直接在接口文档上进行测试)

qq_62608242的博客 168

Spring Boot整合Swagger2搭建在线文档

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 Restfull 风格的 Web 接口服务,在当前前后端分离的情况下,利用swagger搭建一个接口服务平台,接口服务平台可以减少一些前后台的不必要沟通,前端只需要根据接口便可以进行前端开发。 这里swagger是在现有的一个springboot jpa工程上进行改造,现有的工程可以正常访问,在此基础...

蜗牛学习笔记 893

Spring Boot整合Security+Swagger2踩坑记录,Swagger2无法访问首页

问题: 访问不了Swagger的页面 有可能出现的原因: 1.Security将访问拦截掉了 2.给拦截器拦截了 3.Swagger返回的结果,被自己定义的拦截器or其他方式给篡改了数据,导致无法正常显示,也就无法得到想要的结果 解决: 1.放开访问 //忽略swagger访问权限限制 .antMatchers( "/userlogin", ..

街角有人祝福,巷口有人哭~ 2562

Spring boot 2.1.0 -- swagger2 整合

Spring boot 2.1.0 -- swagger2 整合 依赖版本信息 Spring boot 2.1.0.RELEASE swagger2 2.7.0 1. maven 配置pom.xml 包引入 &lt;!--swagger2依赖--&gt; &lt;dependency&gt; &lt;groupId&gt;io.springfox&lt;/groupId&gt; ...

qq_24047659的博客 755
上一篇: 其他 目录
下一篇: Spring Boot实现文件上传与下载
程序员null
博客等级 码龄11年 1305粉丝 124原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值