我熟悉 Microsoft 堆栈。我正在使用 OData 来提供一些宁静的服务。最近,我遇到了 Swagger API 文档,我试图了解它与 OData 的关系。两者看起来都是RESTful规范。哪一种被广泛使用?
Swagger是一个规范记录 API。通过为 API 创建 swagger 文档,您可以将其传递给 Swagger UI 实例,该实例以简洁、可读的格式呈现文档,并提供调用 API 的工具。请参阅swagger.io http://swagger.io/网站以获取更多信息。
OData是用于创建的规范基于http的数据服务,它定义了服务应该如何构建以及它应该遵循什么模式。例如,使用 $top 指令提供数据集的前 n 个结果。 OData 目前为版本 4,但 v2 文档有非常好的概述 http://www.odata.org/documentation/odata-version-2-0/uri-conventions/.
虚张声势是一个 nuget 包 https://github.com/domaindrivendev/Swashbuckle对于 Microsoft 堆栈来说自动为您的 API 生成 swagger 文档,基于检查您提供的代码和其他元数据来塑造输出文档。
如果您希望 Swashbuckle 自动为您正在构建的 OData API 生成 swagger 文档,那么您可以使用虚张声势的OData https://github.com/rbeauchamp/Swashbuckle.OData为您提供这个。
如果您使用 .NET Core,那么它会变得有点复杂,但可以在以下位置找到完整的示例.NET Core Swagger OData 示例 https://github.com/Microsoft/aspnet-api-versioning/tree/master/samples/aspnetcore/SwaggerODataSample.
OpenAPI是描述 API 的规范; Swagger 是OpenAPI标准。您可以找到更多详细信息here https://swagger.io/blog/api-strategy/difference-between-swagger-and-openapi/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)