Delphi MVC框架下Swagger的schemes下拉移除HTTP或默认HTTPS的方法
Delphi MVC框架Swagger协议配置操作指南
方案1:移除schemes下拉菜单中的HTTP选项(推荐)
该方案可彻底隐藏HTTP选项,无需额外处理默认选中逻辑,操作步骤如下:
- 找到项目中Swagger初始化代码位置,通常位于
ServerContainer单元或项目启动单元的RegisterOpenApiDocument方法调用区域 - 修改Swagger配置的协议列表,仅保留HTTPS协议,参考代码:
// 初始化Swagger配置 FSwaggerConfig := TMVCSwaggerConfig.Create('1.0', '你的API服务名称'); // 清空默认添加的所有协议 FSwaggerConfig.ClearSchemes; // 仅添加HTTPS协议 FSwaggerConfig.AddScheme('https', 'HTTPS安全协议');
方案2:保留协议下拉,默认选中HTTPS
如果业务需要同时保留HTTP、HTTPS两个选项,可通过以下配置设置默认选中HTTPS:
- 方式一(服务端配置,推荐):直接在Swagger初始化代码中指定默认协议
FSwaggerConfig := TMVCSwaggerConfig.Create('1.0', '你的API服务名称'); // 保留默认的HTTP、HTTPS双协议,指定默认选中HTTPS FSwaggerConfig.DefaultScheme := 'https';
- 方式二(前端Swagger UI配置):修改Swagger UI的初始化参数
找到框架内置的Swagger UI模板index.html,在SwaggerUIBundle初始化配置段添加schemes参数,参考代码:
const ui = SwaggerUIBundle({ url: "./swagger.json", dom_id: '#swagger-ui', // 指定协议顺序,排在第一的为默认选中项 schemes: ["https", "http"], presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], layout: "StandaloneLayout" })
配置修改后若未生效,请先清理浏览器缓存,再重新编译运行项目即可。
内容的提问来源于stack exchange,提问作者Charles Faiga
相关产品推荐
相关产品推荐

