在 Linux 环境下使用 **Swagger(通常指 OpenAPI 规范 + Swagger 工具链)**时,支持的协议主要取决于 OpenAPI 规范版本 和 你使用的 Swagger 工具(Swagger UI / Swagger Editor / Swagger Codegen 等),而不是 Linux 本身。
下面按常见情况说明。
这是 Swagger 最核心、默认支持的协议。
httphttps示例(OpenAPI 3.x):
servers:
- url: https://api.example.com/v1
- url: http://localhost:8080
ws://、wss://)从 OpenAPI 3.1 开始,对 WebSocket 的支持更明确,但 Swagger UI 对 WebSocket 的展示依然有限。
servers:
- url: wss://echo.websocket.events
✅ 支持情况:
Swagger 并不原生支持 TCP / UDP / gRPC,但可以通过以下方式“描述”:
x- 扩展字段(非标准)x-protocol: grpc
✅ 实际协议:gRPC
✅ 对外暴露:HTTP/JSON + Swagger
Swagger 不支持消息队列类协议。
替代方案:
| 工具 | 支持的协议 | 说明 |
|---|---|---|
| Swagger UI | HTTP / HTTPS | 能真正发起请求 |
| Swagger UI | WebSocket | 仅展示 |
| Swagger Editor | HTTP / HTTPS / WS | 编辑和预览 |
| Swagger Codegen | HTTP / HTTPS | 生成客户端 |
| Swagger2 / OpenAPI 2 | HTTP / HTTPS | 不支持 WS |
Swagger 本身不关心操作系统
只要满足:
协议支持完全由 OpenAPI 规范版本 决定。
✅ Swagger 支持:
⚠️ 部分支持:
❌ 不支持:
| 场景 | 推荐 |
|---|---|
| REST API | Swagger / OpenAPI ✅ |
| WebSocket | OpenAPI 3.1 + Swagger(展示) |
| gRPC | grpc-gateway + Swagger |
| 消息队列 | AsyncAPI ✅ |
如果你愿意,可以告诉我:
我可以给你一个可直接用的 Linux + Swagger 示例配置。