如何在Swagger UI中显示响应体?OpenAPI 3.0.3配置咨询
解决Swagger UI无法显示GET API响应体的OpenAPI 3.0.3 YAML修改方案
核心原因
Swagger UI依赖OpenAPI规范中明确的响应结构定义来渲染返回内容。即便服务器实际返回了响应体,若规范里缺失对应状态码的responses配置,UI就无法展示响应内容。
具体修改步骤
1. 补充200状态码的完整响应定义
在你的API路径的get节点下,必须为200状态码配置description和content字段,明确响应的媒体类型与数据结构。
示例修改后的YAML片段:
paths: /your-target-api: get: summary: 接口功能概述 responses: '200': description: 请求成功返回数据 content: application/json: # 严格匹配服务器实际返回的媒体类型,比如application/xml、text/plain等 schema: type: object # 根据实际返回类型调整,比如array、string等 properties: id: type: integer title: type: string # 补充接口实际返回的所有字段定义
2. 确保媒体类型与服务器返回一致
如果服务器返回的是application/json,就不能写成text/plain,必须完全匹配,否则Swagger UI无法识别并解析响应体。
3. 针对数组类型响应的调整
若API返回的是数组结构,修改schema部分为:
schema: type: array items: type: object properties: id: type: integer title: type: string
4. 可选:添加示例响应(优化UI体验)
可以在content下增加example字段,让Swagger UI展示示例数据,帮助用户快速理解响应结构:
content: application/json: schema: type: object properties: id: type: integer title: type: string example: id: 101 title: "示例内容"
验证修改
修改完成后重新加载Swagger UI,再次执行「Try it out」>「Execute」,此时即可正常查看响应体内容。
内容的提问来源于stack exchange,提问作者Naga Vijayapuram
相关产品推荐
相关产品推荐

