52

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

4

1 回答 1

95

Swagger是用于记录 API的规范。通过为您的 API 创建一个 swagger 文档,您可以将其传递给 Swagger UI 的一个实例,该实例以一种简洁、可读的格式呈现该文档并提供工具来调用您的 API。有关详细信息,请参阅swagger.io网站。

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

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

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

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

OpenAPI是描述 API 的规范;Swagger 是OpenAPI标准的实现。您可以在此处找到更多详细信息。

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

于 2016-05-23T09:02:20.540 回答