Swagger和Wired

超简单配置接口文档Swagger和Knife4j教程 如何配置Swagger 3.0和Knife4j 3.0版本,建议使用Knife4j,因为它的前身是swagger-bootstrap-ui,是在Swagger的基础上进行了界面的优化 阅读详情

微信公众号:Java患者

专注Java领域技术分享

前言

        在我们前后端分离的架构中,前端与我们后端的开发是并行的,那么我们除了写自己的代码之外,我们还需要一些额外的的工具来帮助我们跟前端沟通,下面我们将为大家介绍2个常见的工具。

常见的工具

        第一个就是Swagger,它可以根据我们的代码去自动生成html文档,向前端描述清楚我们的API如何去使用的,而我们后端的程序员只需要通过简单的注释,就可以不用再去写API文档了,大大减少我们维护文档的工作量。

swagger的使用

        首先,我们还是要引入相关的开发包,并且在我们Spring boot的启动类上加一个注解@EnableSwagger2,这样我们的swagger就与我们项目整合好了。

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.7.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.7.0</version>
</dependency>

        我们启动好项目,访问http://localhost/swagger-ui.html就可以进入我们的swagger页面里面了,里面是我们写的Controller和Spring MVC提供的Endpoint描述,他们都是用来处理HTTP请求的。

通过默认的生成的描述,有时候我们并不能清楚的知道是怎么,比如像字段的描述,方法的作用。这时,我们可以通过注解的方法,为我们的接口文档提供更详细的信息。

swagger使用实例

        @ApiOperation,方法的描述,用于方法上面,最终会代替我们的方法名称显示在文档里。

@GetMapping
@JsonView(User.UserSimpleView.class)
@ApiOperation(value = "用法查询服务")
public List<User> query(UserQueryCondition condition, Pageable pageable) {}


        参数描述有2种,一种是使用对象来接收参数的描述,针对这种描述,我们只需要在字段上面加上@ApiModelProperty描述就行了。

  @ApiModelProperty("用户的名称")
  private String name;

另一种是直接使用属性去接收,使用@ApiParam描述就可以了。

@GetMapping("{id:\\d+}")
@JsonView(User.UserDetailView.class)
public User getUserInfo(@ApiParam("用户id") @PathVariable(name = "id") String id){}


Swagger其他常见注解

@Api用在类上,说明该类的作用。
@ApiOperation注解来给API增加方法说明。
@ApiImplicitParams用在方法上包含一组参数说明。
@ApiImplicitParam用来注解来给方法入参增加说明。    ‍
@ApiResponses用于表示一组响应
@ApiResponse用在@ApiResponses中,一般用于表达一个错误的响应信息
@ApiModel描述一个Model的信息
@ApiModelProperty描述一个model的属性

WireMock的介绍

        虽然Swagger可以生成我们的文档。当时使用文档总会有些和我们实际去调用服务有区别的。WireMock可以在我们后端还没开放完的情况下,给前端伪造我们的数据。

        WireMock是一个独立的服务器,我们通过他的客户端来写一些java代码,来告诉服务器收到请求的时候发生什么的响应,而服务器是一直在运行,反复部署。前端只要连这个服务器就可以了,他们不用再去伪造哪些假数据了。

WireMock的使用

我们首先要去WireMock的官网去下载并安装我们的WireMock,http://wiremock.org/docs/running-standalone/。他下载后是一个jar包,我可以去jar的所在的目录上,通过下面这个命令来运行。

java -jar wiremock-standalone-2.26.3.jar --port

当看到这个界面,说明服务已经启动好了。

如何使用操作WireMock

我们需要在项目中导入我们WireMock的依赖。

<dependency>
    <groupId>com.github.tomakehurst</groupId>
    <artifactId>wiremock</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
</dependency>

我们书写代码并运行告诉WireMock的服务器,实现收到指定请求,从指定文件读取数据并放回回去的过程。

public class MockServer {


  public static void main(String[] args) throws IOException {
      // configureFor可以指定ip和端口
    configureFor(8062);
    // 把之前所有的配置情况
    removeAllMappings();
        // 告诉我们服务器怎么处理请求。
        // url还可以写正则表达式
    mock("/order/1", "01");
    mock("/order/2", "02");
  }


  private static void mock(String url, String file) throws IOException {
    // 我们把响应的内容写在一个文件里面
    ClassPathResource resource = new ClassPathResource("mock/response/" + file + ".txt");
    String content = StringUtils.join(FileUtils.readLines(resource.getFile(), "UTF-8").toArray(), "\n");
    stubFor(get(urlPathEqualTo(url)).willReturn(aResponse().withBody(content).withStatus(200)));
  }


}

访问其相应的路径:

查看

swagger常用注解汇总 swagger中常用的注解及其使用位置如下:@Api:用在请求的类上,表示对类的说明常用参数代码示例: @ApiOperation:用在请求的方法上,说明方法的用途、作用代码示例: @ApiModel:用于响应类上,表示一个返回响应数据的信息 示例代码: @ApiModelProperty:用在属性上,描述响应类的属性代码示例: @ApiIgnore 忽略某个属性,使之不显示在swagger文档中显示... 阅读详情

相关推荐

淘宝电商产品价格官方防爬取采集设计机制,如何破?|淘宝电商API数据采集看完你也会!

然而,随着电子商务的蓬勃发展,涌现出大量的第三方工具和应用,试图通过采集淘宝电商产品价格等信息来进行数据分析和竞争优势的获取。为了维护市场秩序和保护商家权益,淘宝采取了一系列的防爬取设计机制,以阻止非授权的数据采集行为。为了确保数据的准确性和及时性,淘宝采取了多层次的防爬取机制,以限制未经授权的数据采集。其它的情况,比如淘宝首页、淘宝关键词商品搜索结果页面、商品详情页面,都是正常展示,未实现加密;也可以使用【tesseract ocr识别】指令,这个是免费无限使用的;【淘宝商品搜索结果页面-本地截图】

TinagirlAPI的博客 1384

Swagger和WireMock的简单使用

1.Swagger自动生成HTML文档 在springboot项目中导入依赖 <!--利用Swagger生成HTML文档--> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.spri...

javazht的博客 635

WSL2网络配置全攻略:如何让Windows和Linux子系统互相访问端口(附防火墙设置)

本文深入解析WSL2的网络架构,并提供详细的端口互通配置指南。针对WSL2与Windows宿主机之间常见的网络访问问题,文章从原理出发,逐步讲解如何识别网络环境、配置Windows防火墙规则、调整服务监听地址,并介绍镜像网络模式等进阶优化方案,最终实现稳定可靠的双向端口访问。

sony5的博客 1146

swagger常用注解

Swagger是一个开放源代码软件框架,由大型工具生态系统支持,可帮助开发人员设计,构建,记录和使用RESTful Web服务。尽管大多数用户通过Swagger UI工具识别Swagger,但是Swagger工具集包括对自动文档,代码生成和测试用例生成的支持。1. 通过代码和注释自动生成文档。在Swagger框架下,开发人员可对服务进行归类说明,对方法,模型,返回结果等进行详细说明。方便开发人员在编写代码的同时,编写文档信息。自动生成,只需很少的编辑工作,就能获得完整的REST APIs文档2. 提供了UI

m0_61682705的博客 3万+

瑞萨CS+仿真器高级配置指南:从原理到实战优化RX系列MCU调试

在嵌入式系统开发中,仿真器是进行早期验证和深度调试的核心工具。它通过精确模拟目标微控制器的指令集、内存和外设行为,构建了一个虚拟的硬件沙盒环境。其工作原理在于对CPU核心、时钟系统和外设接口的软件模拟,使开发者能在无物理硬件时进行代码逻辑验证、内存布局规划和时序分析。这项技术的核心价值在于大幅降低开发成本、加速问题定位,并支持复杂场景的复现与测试。在瑞萨RX系列MCU开发中,CS+集成开发环境内置的仿真器功能尤为强大。本文聚焦于**指令解码缓存**和**外设时钟比率**等关键配置的深度解析,阐述如何通过优化

cmff98425的博客 1119

【AI智能体】图像处理-生成营销 Banner 图

生成营销 Banner 图是一款用于制作营销图片的智能体,它可以根据指定的营销活动内容,快速生成活动 Banner 图片,降低活动运营成本、提高制图效率。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 1175

Swagger注解

Api:描述API接口的基本信息,包括接口名称、描述、作者等。:描述API接口的操作方法,包括HTTP请求方法、接口路径、接口说明等。@ApiParam:描述API接口的参数信息,包括参数名称、参数类型、参数说明等。@ApiModel:描述API接口的返回结果类型,包括返回结果的数据结构、返回结果的说明等。:描述API接口返回结果的属性信息,包括属性名称、属性类型、属性说明等。使用Swagger注解可以让我们更方便地描述API接口和参数,从而生成规范的API文档,提高开发效率和代码质量。

果酱 の 博客 7738

Windows 11 安装 Maven:下载、安装、配置国内镜像、验证

本文详细介绍了在 Windows 11 系统中安装与配置 Apache Maven 的完整流程,包括 JDK 环境准备、Maven 下载解压、本地仓库路径设置、阿里云国内镜像加速配置、环境变量设置及安装验证。同时提供了常用 Maven 命令速查表,帮助开发者快速上手依赖管理与项目构建,提升开发效率。

寒水馨 · 轻量级技术文档 · hanshuixin.org 1501

Swagger和postman

接口规范Swagger 1.为什么需要swagger 1)接口测试人员要通过接口描述测试接口 --黑盒测试 2)前端开发人员要通过接口描述使用接口. 2.swagger的作用 通过后端代码产生能够让前台开发或测试人员能够看懂的文档 3.Swagger使用步骤 3.1在crmyang_web模块中引入相关jar包 <!-- swagger引入包--> <depend...

EvilKingyhq的博客 4490

【Bug已解决】Codex CLI 报 stream disconnected before completion 解决方案

方案适用场景推荐指数更新根证书库社区验证的最常见根因⭐⭐⭐⭐⭐检查系统时间虚拟机/容器等特殊运行环境⭐⭐⭐⭐核对 base_url 配置排除证书问题后的下一步排查⭐⭐⭐⭐更换网络环境测试怀疑本地网络设备存在干扰⭐⭐⭐升级到最新版本已知版本缺陷的场景⭐⭐⭐⭐报错虽然表现形式很像网络连接问题,但社区排查的多个真实案例表明,很大一部分情况的根因其实是本机系统的 TLS 证书信任链异常或系统时间不准确,而不是单纯的网络质量问题。优先检查并更新系统根证书库,这是社区验证过的高频根因。

一键难忘的博客 8013

【DRAM存储器六十五】DDR5介绍--训练相关之MPC、Read Training Pattern、Read Preamble Training Mode

简述DDR5 MPC操作和读训练时颗粒输出pattern的配置

highman110的博客 358

Swagger注解的使用

文章目录@EnableSwagger2@Api@ApiOperation@ApiParam@ApiImplicitParams@ApiImplicitParam@ApiModel@ApiModelProperty@ApiResponses@ApiResponse@ResponseHeader@ApiKeyAuthDefinition@Authorization@AuthorizationScope@BasicAuthDefinition@Contact@Example@ExampleProperty@Ext

骑个小蜗牛的博客 2万+

YOLOv9改进,YOLOv9添加CBAM注意力机制

CBAM是一个简单而有效的注意力模块,用于前馈卷积神经网络。给定一个中间特征图,我们的模块按顺序推断两个独立维度(通道和空间)的注意力图,然后将注意力图乘以输入特征图以进行自适应特征细化。由于 CBAM 是一个轻量级的通用模块,因此它可以无缝集成到任何 CNN 架构中,开销可以忽略不计,并且可以与基础 CNN 一起进行端到端训练。论文链接:(CBAM论文)

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 856

swagger注解说明_Swagger和Wired

微信公众号:Java患者专注Java领域技术分享前言在我们前后端分离的架构中,前端与我们后端的开发是并行的,那么我们除了写自己的代码之外,我们还需要一些额外的的工具来帮助我们跟前端沟通,下面我们将为大家介绍2个常见的工具。常见的工具第一个就是Swagger,它可以根据我们的代码去自动生成html文档,向前端描述清楚我们的API如何去使用的,而我们后端的程序...

weixin_30145703的博客 278

VC中sqlite的使用

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

oh-my-pi profiles 多配置档指南:如何一套环境跑多项目多场景

**oh-my-pi** 是一个自带 IDE 能力的编码智能体(Coding Agent),而它的 **profiles 多配置档**功能,让你用一套环境同时管理多个项目、多种场景:每个 profile 拥有独立的认证、会话、设置与缓存,一键切换互不干扰。 [![oh-my-pi profiles 多配置档:一套环境多场景](https://raw.gitcode.com/GitHub_Tren

gitblog_00099的博客 757

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Swagger 常用注解

通过代码和注释自动生成文档。在 Swagger 框架下,开发人员可对服务进行归类说明,对方法,模型,返回结果等进行详细说明。

yy139926的博客 5533

API接口文档利器:Swagger 和 接口调试利器:Postman

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务它的主要作用是:使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。

m0_63615119的博客 2620

常用Swagger注解汇总

在实际编写后端代码的过程中,我们可能经常使用到 swagger 注解,但是会用不代表了解,你知道每个注解都有什么属性吗?你都用过这些属性吗?了解它们的作用吗?本文在此带大家总结一下常用的swagger注解,供大家学习理解。

莪是男神的博客 4727

接口工具Swagger2和Swagger-UI的使用

找到刚刚下载好的Swagger-UI项目,进入项目并找到dist目录,将整个dist目录复制到需要使用Swagger-UI工具项目的resources目录下。dist目录中的文件主要就是一些css、js和html等文件,都是用来显示和渲染Swagger-UI工具页面的。通过引入Swagger-UI的配置,用户可以自动生成相应的可视化接口文档,并对项目中的接口进行测试。Swagger-UI是一款非常有用的工具,可以让任何人通过可视化的方式与后台服务端API接口方法进行交互,而无需实现任何逻辑。

weixin_51451545的博客 4997

swagger的详细注解

​ | **作用范围** | **API** | **API常用参数** | **作用位置** | | :----------------: | :----------------: | :----------------------------------------------------------: | :-------------------.

qq_34823218的博客 1万+

Swagger使用详解

Swagger使用详解

keke的博客 8875

Swagger和SpringFox

Swagger和SpringFox 最受欢迎的API文档规范之一是OpenApi,以前称为Swagger。 它允许您使用JSON或YAML元数据描述API的属性。 它还提供了一个Web UI,它可以将元数据转换为一个很好的HTML文档。 此外,通过该UI,您不仅可以浏览有关API端点的信息, 还可以将UI用作REST客户端 - 您可以调用任何端点,指定要发送的数据并检查响应。 它非常方便。 然而,手动编写此类文档并在代码更改时保持更新是不现实的。 这就是SpringFox发挥作用的地方。 它是Spring

m0_51684972的博客 687

Swagger 的介绍以及使用

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。使用Swagger,就是把相关的信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述文件可以去更新接口文档,以及生成各端代码。而Springfox-swagger,则可以通过扫描代码去生成这个描述文件,连描述文件都不需要再去维护了。所有的信息,都在代码里面了。代码即接口文档,接口文档即代码。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。

weixin_62587914的博客 628

Swagger常用注解

文章目录1、@Api2、@ApiOperation3、@ApiOperation3、@ApiImplicitParams、@ApiImplicitParam4、@ApiResponses、@ApiResponse5、@ApiModel、@ApiModelProperty6、 @PathVariable7、 @RequestParam Swagger是一个开放源代码软件框架,由大型工具生态...

三分恶的博客 2487

【Swagger】常用注解及具体实例(超全)

在上一篇我们详细的介绍了使用 Swagger 时需要做的配置,现在已经能得到一个我们自己想要的页面了 但是,这也看不明白啊。。。接口连个中文说明都没有。。。所以,Swagger 提供了很多注解,就是让我们去为每个类、每个接口/参数、每个Model 写解释说明的。 1.用于类的注解 @Api:资源描述 标识这个类是 Swagger 的资源, @Api(tags = "商户相关接口") @RestController @RequestMapping("/merchants") public class Mer

A minor 2万+

swagger注解文档

swagger注解详情 1. @Api() 作用于类,放置于controller的一个类上,标志这个类是swagger资源 1.1参数: 参数名称 参数介绍 备注 value 说明,可以使用tags替代 tags 说明 1.2实例代码: @Api(value = "swagger2测试api", tags = "管理员") @RequestMapping("/api/a...

booleandev 1976
上一篇: 自定义Spring Security的用户认证逻辑
下一篇: 我也想从零开始了解一下JVM虚拟机
新时代Java农民工
博客等级 码龄7年 16粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值