SpringBoot - SWAGGER中配置.pathMapping(“XXXX“)引发的404错误

Swagger使用 1.引入maven依赖到pom文件中 <!--swagger2完成包 service类工程需要生成api页面--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> &l 阅读详情

写在前面

SpringBoot - SWAGGER2的集成与使用(一)
SpringBoot - SWAGGER2公共模块的抽象集成与使用(二)
SpringBoot - SWAGGER3公共模块的抽象集成与使用(三)
SpringBoot - 集成SWAGGER的常见问题

问题描述

A. 前端UI将SWAGGER-UI集成到系统的菜单中了,SWAGGER-UI是用iframe形式打开的;
B. 直接在前端UI的菜单中访问SWAGGER-UI正常,接口访问正常;
C. 如果直接使用:http://后端服务地址:后端端口/swagger-ui/index.html访问SWAGGER-UI,页面显示正常,但是测试接口的时候报404错误;
D. SWAGGER的配置如下:

@Bean
public Docket createRestApi() {
    return new Docket(DocumentationType.OAS_30)
            // 是否启用Swagger
            .enable(enabled)
            // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
            .apiInfo(apiInfo())
            // 设置哪些接口暴露给Swagger展示
            .select()
            // 扫描所有有注解的api, 用这种方式更灵活(本系统默认方式)
            //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
            // 扫描指定包中的swagger注解
            .apis(RequestHandlerSelectors.basePackage("cn.hadoopx.web.controller.system"))
            // 扫描所有
            //.apis(RequestHandlerSelectors.any())
            .paths(PathSelectors.any())
            .build()
            /* 设置安全模式,swagger可以设置访问token */
            .securitySchemes(securitySchemes())
            .securityContexts(securityContexts())
            .pathMapping("/dev-api");
}

问题分析

A. 为什么直接在前端UI的菜单中访问SWAGGER-UI正常,接口访问正常?
在前后端分离架构上,SWAGGER-UI使用iframe方式嵌套,生成的服务地址也是前端暴露的地址端口,然后请求过来时将请求代理到后端的目标地址上,同时前端会去掉’.pathMapping(“/dev-api”)'设置的请求前缀,所以访问是正常的。

B. 为什么直接使用:http://后端服务地址:后端端口/swagger-ui/index.html访问SWAGGER-UI,页面显示正常,但是测试接口的时候报404错误?
.pathMapping(“/dev-api”),只是一个附加的虚拟的路径,并没有实际映射作用到对应的@RequestMapping的路径上,实际的访问路径依然是去掉请求前缀"/dev-api"的,但是它会作用到生成SWAGGER-DOC里的API路径上,会在API路径的前面拼接上前缀,所以直接访问会报错。

C. 如何解决?
第一种方式:针对这个情况可以写个全局过滤器,将请求路径的前缀去掉;
第二种方式:测试的时候,不使用SWAGGER,直接使用POST-MAN测试,使用服务接口真实的调用地址+端口(不带/dev-api前缀);
第三种方式:直接通过前端的UI菜单来访问SWAGGER-UI。

OpenFeign FeignException$NotFound: [404] during [GET] to [http://xxxx/xxx/xxx]问题解决 开发框架: Spring Boot+SSM+Maven+Eureka+Zuul+OpenFeign 问题描述: feign.FeignException$NotFound: [404] during [GET] to [http://XudongBack/user/getUserExtById?username=1] [UserService#getUserExtById(String)]: [{"timestamp":"2020-09-19T04:40:22.806+00:00","status": 阅读详情

相关推荐

[c语言]用辗转相除法求最大公约数,递归和不递归两种

在c语言的学习中必然会遇到求两个数之间的最大公约数的题目,那么对于其他经典方法,最简便快捷的方式就是利用辗转相除法 辗转相除法又叫做欧几里得算法,目的是为了求两个正整数的最大公约数 定理:gcd(a,b) = gcd(b ,a%b) //在这里用(a,b)表示a和b的最大公约数证明:a可以表示成a = kb + r,则r = a %b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r //这里的"|"的意思是 :d是b的因数 ,d是a的因数 因此d...

ZZRBlogger的博客 1万+

swagger3自定义接口访问地址、增加接口前缀、pathMapping

java swagger3自定义接口访问地址、增加接口前缀、pathMapping

cv的感觉比写代码好多了 1万+

DySAT+: Enhancing Dynamic Graph Representation Learning with Multi-Head Self-Attention and Temporal-

本文深入探讨了DySAT+模型在动态图表示学习中的创新应用,通过多头时空注意力机制和层级信息融合策略,有效解决了动态图数据中的时间维度信息捕捉和结构演变动态适应问题。该模型在社交网络异常检测和金融交易网络分析等场景中表现出色,显著提升了预测准确率和响应速度。

weixin_29035405的博客 336

Swagger使用说明

1 Swagger的出现 在前后端分离的项目中,后端开发者需要向前端或者其他后端开发者提供接口文档。实际工作中提供一份完整准确的接口文档是一件异常花费时间精力的事情。为了解决问题可以采用Swagger来提供在线的接口文档,通过在代码中写注解可以明显提升文档质量。 2 在项目中加入Swagger pom.xml 在pom文件中添加添加Swagger依赖的jar包 <dependency&...

一朝风月 1797

MLX90640 热成像 STM32

MLX90640 热成像

zhaocundang's blog 5007

手把手拆解:储能电站如何实现‘孤岛运行’与‘黑启动’?从SVPWM控制到无缝并网

本文深入解析储能电站的孤岛运行与黑启动技术,从SVPWM控制策略到电网重构实战。通过详细的三环控制架构和黑启动五阶段技术路线,展示储能电站在电网故障时如何快速切换为独立电压源并实现电网重建。文章还探讨了虚拟惯量补偿、多站协同控制等前沿技术,为电力系统应急恢复提供关键解决方案。

weixin_30509393的博客 306

swagger自定义访问接口前缀 (新增和删除)

swagger自定义访问接口前缀 (新增和删除)

weixin_43652507的博客 2207

逆向淘宝x-mini-wua:从加密算法到设备指纹的生成逻辑

本文深入剖析了淘宝风控核心参数x-mini-wua的生成逻辑与加密算法。通过逆向分析,揭示了其作为设备“身份证”的作用,详细拆解了从硬件信息采集、SG_INNER_DATA文件解密、关键参数提取到最终长wua合成的完整技术链条,并探讨了模拟生成与绕过风控的实战思路及注意事项。

year5的博客 1079

SpringBoot集成Swagger2配置及出现的问题记录

点击跳转到我的个人网站https://www.xiaoshenghao.cn 配置: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0&lt...

xsh_cloudy的博客 644

AUTOSAR R20-11标准下载!

这是公众号的第2篇推文,粉丝数49 Document Search Classic Platform Adaptive Platform Foundation 文档截图 以为会在明天的发布会之后才上线,没想到官网现在就悄悄放出来了。 中国由于网络问题,下载速度比较慢或者会中断。 “阅读原文”提供多种下载方式,可以在线浏览,可以集中下载也可单个文档下载。 如有增减我也会及时在公众号里通知大家,不过我觉得不会变动了。 整理不宜,好东西要分...

Adaptive_AUTOSAR的博客 1891

Vue3+Element Plus:构建现代化后台管理系统的核心布局实践

本文详细介绍了使用Vue3和Element Plus构建现代化后台管理系统的核心布局实践。从开发环境搭建到核心布局设计,再到动态菜单与路由集成,提供了完整的解决方案和优化技巧。特别适合需要快速开发高效、响应式后台系统的开发者,通过实战案例展示了如何提升开发效率和系统性能。

weixin_28309723的博客 459

RuoYi-Vue3项目中Swagger接口文档端口配置问题解析

RuoYi-Vue3项目中Swagger接口文档端口配置问题解析 【免费下载链接】RuoYi-Vue3 ???? (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统 ...

gitblog_01415的博客 541

ADS学习笔记 2. 低噪声放大器设计

ADS学习笔记 2. 低噪声放大器设计。设计了一个中心频率433MHz,增益18.206dB,NF=0.134dB,S11带宽较好的低噪声放大器

u014087103的博客 9510

Swagger

swagger

qq_46631261的博客 472

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Swagger 配置

ApiModelProperty(value = "属性名ID",required = true) 用在实体类上 required标识是否必传。@ApiOperation(value=接口名 notes=入参) 用在Controller 接口方法上。@Api(value = "目录名" , tags = "目录名" ) 用在Controller类上。.description("restful风格").title("项目API文档")-- swagger包 -->

m0_61600641的博客 445

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

swagger 配置

package com.basetnt.bss; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; impo...

fengzyf的博客 787

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

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

SpringBoot整合Swagger

Swagger是一个用于设计、构建和文档化 RESTful API 的开源框架。它提供了一组工具,使得开发人员能够更轻松地定义、描述和测试API接口。

m0_74923238的博客 513

SpringBoot使用Swagger配置API接口文档

Swagger是一个用于设计、构建和文档化 RESTful API 的开源框架。它提供了一组工具,使得开发人员能够更轻松地定义、描述和测试API接口。具体来说,Swagger包含以下几个核心组件:Swagger规范(Swagger Specification): 定义了一种格式化的API规范,使用YAML或JSON格式,用于描述API的各种细节,包括路由、参数、返回值等。

Wen先森的博客 4919

Swagger入门

测试接口swagger2

qq_51404651的博客 1175

springboot-swagger2教程,多环境安全配置,多栏目配置

使用步骤: 引入swagger和swagger-ui的maven依赖 <!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency&g.

张步云的专栏 816

Swagger使用教程

Swagger官网Swagger是一个用于设计、构建、文档化和使用RESTful风格的Web服务的开源软件框架。它提供了一种简单而强大的方式来描述和访问API的功能,使得开发人员可以更轻松地构建和测试API。Swagger的主要功能包括:API文档自动生成:Swagger可以根据代码注释自动生成API文档,包括API的路径、参数、请求和响应的格式等信息。可视化界面:Swagger提供了一个可视化的界面,使开发人员可以直观地查看和测试API。

jakelihua 5571

SpringCloudGateway集成Swagger3

后台服务Swagger配置 package com.synda.conmmon.config; import lombok.Data; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.s.

小胡的博客 1448

解决:error: “Not Found” path: “xxxx” status: 404报错

解决:error: “Not Found” path: “xxxx” status: 404报错

csdnlaiyanqi的博客 5562

Swagger的学习

一、Swagger Swagger是一个用来定义接口标准,接口规范,同时能根据你的代码自动生成接口说明文档的一个工具。 二、构建Swagger和springboot环境 构建时碰到一个问题: Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerException 原因是因为springboot的版本太高了,缺少swagger运行所需要的环境。 这里我将sp

pinkCoderMonkey的博客 651

SpringBoot整合Swagger2

SpringBoot整合Swagger2Swagger2介绍maven依赖Swagger2配置接口创建实体类创建Swagger2注解说明 Swagger2介绍 前后端分离开发模式中,api文档是最好的沟通方式。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 maven依赖 创建一个Spring Boot项目,加入web依赖,加入两个Swagger2相关的依赖,依赖如下: <dependency> <groupId>io

mry6的博客 553

012-配置Swagger文档管理

🧑‍🎓 个人主页:Silence Lamb 📖 本章内容:【配置Swagger文档管理】

学习笔记 1607
上一篇: SpringBoot - @ControllerAdvice注解详解
下一篇: SpringBoot - Identify and stop the process that‘s listening on port 8080解决方案
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

cloneme01

谢谢您的支持与鼓励!

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

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

打赏作者

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

抵扣说明:

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

余额充值