ServiceStack.Swagger.Api 支持的提交方法

ServiceStack.Swagger.Api supportedSubmitMethods

我设置了一个使用 ServiceStack.Swagger.Api 的服务。我的服务有几个支持 OPTIONS 请求的端点。有没有办法配置 SwaggerAPI 插件将 'options' 添加到 index.html 中的 js SwaggerUi.supportedSubmitMethods 列表?

选项请求显示,但 'Try It Out' 按钮不存在,因为 supportedSubmitMethods 中没有选项。

*使用 ServiceStack 4.5.6

ServiceStack Swagger 的嵌入式资源文件是 overridable using the Virtual File System so you can override Swagger UI's default index.html by taking a copy of index.html 并将其添加到 /swagger-ui/ 文件夹中的宿主项目,例如:

/swagger-ui/index.html

然后修改 supportedSubmitMethods 的本地副本以包含 选项 ,例如:

window.swaggerUi = new SwaggerUi({
  url: url,
  dom_id: "swagger-ui-container",
  supportedSubmitMethods:['get', 'post', 'put', 'delete', 'patch', 'options'],
...

请注意 latest v4.5.8 Release 如果您有很多 OPTIONS 服务,您可以将其添加到没有明确指定 HTTP 动词的路由的默认动词列表中:

Plugins.Add(new SwaggerFeature
{
     AnyRouteVerbs = { HttpMethods.Options },
});

此外,如果您能够升级到 v4.5.8,那么您可能需要考虑切换到使用更新的 Open API Feature,它实现了 Open API 规范的 v2.0,这是Swagger 的继任者。