如何在Swagger UI中禁用示例Schema并移除“Send an Empty Value”选项?
关于Swagger UI的两个配置问题解决方法
1. 隐藏响应中的Example Schema部分
你的OpenAPI YAML定义了返回二进制文件的响应,要在Swagger UI中隐藏对应的Schema部分,最直接的方式是修改Swagger UI的初始化配置:
在Swagger UI的初始化代码中添加defaultModelsExpandDepth: -1,全局隐藏Schema的展开显示:
const ui = SwaggerUIBundle({ url: "你的OpenAPI文件路径", dom_id: '#swagger-ui', defaultModelsExpandDepth: -1, // 其他原有配置项 });
如果只能修改OpenAPI YAML文件,目前OpenAPI规范没有直接控制Swagger UI显示Schema的属性,保持现有schema定义即可,结合上述UI配置实现隐藏效果。
2. 移除文件上传的“Send an Empty Value”选项
你之前设置required: true无效是因为配置位置不对,需要同时设置两处:
- 在
requestBody层级添加required: true,标记整个请求体为必填 - 在schema的
required数组中加入file,标记该字段为必填
修改后的YAML代码如下:
requestBody: description: Upload a document required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: [file] encoding: file: contentType: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
配置完成后,Swagger UI会移除“Send an Empty Value”选项,强制要求选择文件后才能发送请求。
内容的提问来源于stack exchange,提问作者ng.newbie
相关产品推荐
相关产品推荐

