本地Swagger无法访问

本文介绍了如何检查SwaggerAPI的本地访问设置,包括确认依赖是否完整,配置类是否正确注解,以及调整服务器context-path以确保正确访问SwaggerUI。作者提到因context-path导致的访问地址修改问题可能导致访问路径改变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正常访问本地Swagger-api地址:http://localhost:8080/swagger-ui.html#/(该访问地址格式适用于 3.0版本以下的)

1.确定依赖有没有漏的

<!-- swagger 依赖-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.5.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.5.0</version>
</dependency>

2.检查配置类,有没有漏注解

3.瞅瞅你的服务,有咩有这个配置 ,这玩意等于给你的地址又加了一截,所以你的访问地址要变为:http://localhost:8080/demo/swagger-ui.html#    (我是因为这个,一丢丢难受)

server:

  servlet:

     context-path:/demo

    

### 如何配置和访问本地 Swagger UI #### 配置 Swagger UI 为了在本地环境中成功运行和访问 Swagger UI,需按照以下方法操作: Swagger UI 是一种用于可视化 RESTful API 的工具。要将其设置到本地环境,可以遵循以下流程[^1]。 1. **安装 Node.js 环境** 如果尚未安装 Node.js,则需要先下载并安装它。Node.js 提供了一个 JavaScript 运行时环境,这对于构建和运行基于 Node.js 的应用程序至关重要[^2]。 2. **克隆或下载 Swagger UI 源码** 可通过 Git 克隆官方仓库或将压缩包手动下载至本地: ```bash git clone https://github.com/swagger-api/swagger-ui.git ``` 3. **初始化依赖项** 使用 npm 初始化项目所需的依赖库: ```bash cd swagger-ui npm install ``` 4. **启动开发服务器** 启动内置的 HTTP 服务来托管 Swagger UI 文件: ```bash npm start ``` 成功执行后,默认会在 `http://localhost:8080` 上提供 Swagger UI 页面。 #### 访问本地文件 当尝试让 Swagger UI 加载本地定义的 OpenAPI 文档(通常是 YAML 或 JSON 格式的文件)时,可能会遇到跨域资源共享 (CORS) 问题或其他权限限制[^3]。以下是解决此问题的方法: - 将本地文件放置于 Web 服务器目录下,并通过 URL 路径加载该资源; - 修改 Swagger UI 默认入口页面 (`index.html`) 中的目标地址字段指向目标文件路径。例如,在 HTML 文件中找到如下部分并调整其值为实际位置: ```javascript const ui = SwaggerUIBundle({ url: "./example/openapi.yaml", // 替换为此处指定的相对/绝对URL dom_id: '#swagger-ui', deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ] }); ``` 完成后重新刷新浏览器即可查看更新后的效果。 #### 注意事项 如果仍然无法正常显示内容,请确认防火墙设置未阻止相关端口通信;另外还需确保所使用的浏览器支持最新标准协议以及 MIME 类型解析功能。 ```html <!-- 示例 index.html 片段 --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> ... </head> <body> <div id="swagger-ui"></div> <script src="./dist/bundle.js"></script> <script type="text/javascript"> // 自定义逻辑... </script> </body> </html> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值