从 servicestack 生成 swagger 规范 api

generate swagger spec from servicestack api

我正在使用 servicestack 作为 REST 框架。 swagger UI 插件对于手动测试和调试非常有帮助。

现在我想用像 Soap 这样的工具做更多的自动化测试,性能测试UI。

我的问题是,有没有办法从服务堆栈中生成 swagger 规范?所以我可以将它导入 SoapUI.

我不想在 SoapUI 中手动创建所有请求。

谢谢!

打开API v2.0规范

ServiceStack 实现了 OpenAPI v2.0 Specification in its Open API Feature,您可以通过以下方式从 NuGet 安装:

PM> Install-Package ServiceStack.Api.OpenApi

然后在您的 AppHost 中注册:

Plugins.Add(new OpenApiFeature());

启用后,您可以在 /openapi 端点为您的服务访问 Open API 规范。这就是 /swagger-ui/ 用来为您的服务生成动态 UI 的方法。

使用 Open API 规范生成 REST 客户端

您也可以将其与 Azure's AutoRest client to generate an AutoRest client from the spec 一起使用。

但我不明白 Swagger/OpenAPI 规范与 SoapUI 有什么关系?描述了 Soap Web 服务,并且可以从 WSDL 而不是 Open API 规范生成它们的客户端。

SOAP 支持

ServiceStack's SOAP Support also generates the WSDL for your Services which you can find linked on your Metadata Page.

旧的 Swagger 1.2 规范

或者,ServiceStack 还支持旧的 Swagger 1.2 规范及其 Swagger Feature,您可以通过以下方式从 NuGet 安装:

PM> Install-Package ServiceStack.Api.Swagger

然后在您的 AppHost 中注册:

Plugins.Add(new SwaggerFeature());