odata - 什么是 Swagger,它与 OData 有关系吗?

标签 odata swagger swashbuckle openapi

我熟悉 Microsoft 堆栈。我正在将 OData 用于我的一些 Restful 服务。最近我遇到了 Swagger 的 API 文档,我试图了解它与 OData 的关系。它们似乎都是 RESTful 规范。哪一种被广泛使用?

最佳答案

Swagger 的规范记录 API .通过为 API 创建 swagger 文档,您可以将其传递给 Swagger UI 的实例,该实例以整洁、可读的格式呈现文档并提供调用 API 的工具。见 swagger.io网站以获取更多信息。

OData 是创建规范 http 上的数据服务,它定义了服务应该如何构建以及它应该遵循什么模式。例如,使用 $top 指令提供数据集的前 n 个结果。 OData 目前是第 4 版,但 v2 文档有 very good overview .

Swashbuckle is a nuget package对于 Microsoft 堆栈 自动为您的 API 生成 swagger 文档 ,基于检查您提供的用于塑造输出文档的代码和其他元数据。

如果您希望 Swashbuckle 为您正在构建的 OData API 自动生成 swagger 文档,那么您可以使用 Swashbuckle.OData 为你提供这个。

如果您使用 .NET Core,那么它会变得稍微复杂一些,但可以在 .NET Core Swagger OData sample 中找到完整的示例。 .

OpenAPI 是描述 API 的规范; Swagger 是 的一个实现OpenAPI 标准。您可以找到更多详情 here .

我希望这有助于消除任何混淆。

关于odata - 什么是 Swagger,它与 OData 有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32858371/

相关文章:

c# - webApi2 Odata v3 和 V4 并排

wcf - 没有 WCF 数据服务的 OData 服务

c# - 如何从 HttpWebResponse 创建 ODataMessageReader?

odata - OData 绑定(bind)中的多个 $expand 参数

swagger - 调试 Swashbuckle 错误 - 无法加载 API 定义

swagger - 使用 Swashbuckle Asp.Net Core for ReDoc 添加 x-logo 供应商扩展

asp.net-core - 将 Swashbuckle 用于网络核心 Web api 项目时如何禁用 swagger 验证器。 Swashbuckle 6.0.0

Swagger 类似队列和消息传递的文档,例如 mqtt 或 sqs

swagger - 使用 Swagger 2.0 更改请求参数验证失败时的响应代码

c# - 在我的.Net核心API中将自定义序列化器添加到Swagger