我熟悉Microsoft堆栈。我正在使用OData来完成我的一些宁静服务。最近我遇到了Swagger的API文档,我试图了解它与OData的关系。它们似乎都是RESTful规范。哪一个被广泛使用?
答案 0 :(得分:48)
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 为您提供此功能。
在过去的几年中,与Swagger相关的 OpenAPI 出现了一些混乱。 OpenAPI已经发展为描述API的规范,而Swagger是该标准的实现。您可以了解更多详情here。
我希望这有助于消除任何困惑。