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

Mut*_*mar 33 odata swagger swashbuckle openapi

我熟悉Microsoft堆栈.我正在使用OData来完成我的一些宁静服务.最近我遇到了Swagger的API文档,我试图了解它与OData的关系.它们似乎都是RESTful规范.哪一个被广泛使用?

Mur*_*oft 63

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为您提供.

在过去的几年里,围绕着与Swagger相关的OpenAPI出现了一些混乱.OpenAPI已经发展为描述API的规范,而Swagger是该标准的实现.你可以更多的细节在这里.

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