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

Posted

技术标签:

【中文标题】什么是 Swagger,它与 OData 有关系吗?【英文标题】:What is Swagger and does it relate to OData? 【发布时间】:2015-12-27 18:48:20 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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。

我希望这有助于消除任何困惑。

【讨论】:

谢谢。看来您的回应针对的是完整的框架。如何将 Swagger 文档支持添加到 AspNetCore OData 项目? 你可以在这里找到一个完整的例子@Eniola github.com/Microsoft/aspnet-api-versioning/tree/master/samples/…

以上是关于什么是 Swagger,它与 OData 有关系吗?的主要内容,如果未能解决你的问题,请参考以下文章

什么是 WebKit,它与 CSS 有什么关系?

PCIE是什么东西 和PCI有关系吗

什么是统一术语顺序有关系吗?

无线网络所显示的这个速度跟实际上网速度有关系吗

gpu占用低和内存频率有关系吗

语文不好跟英语有关系吗?