这是我的理解:
-
Swagger是编写文档的符号/规则 . 但为什么它被称为框架(如Angular / MVC)?
-
Swashbuckle是一个生成文档的程序(JavaScript?)(基于Swagger规则) .
-
Swagger UI显示文档 . 它使用Swashbuckle来做到这一点 .
这些信息是否正确?如果没有,有人可以用简单的术语解释什么是Swagger,Swashbuckle和Swashbuckle UI意味着什么?
另外,如果我不使用它,我作为API开发人员会失去什么?
1 回答
它可能被称为“框架”,因为它的目的是提供一种系统的方法来记录OpenAPI规范下任何RESTful服务的接口 . 这对开发人员来说是一个大问题,因为规范是由着名的Linux基金会下的Open API Initiative监督的 .
Swashbuckle更像是一个可以在.NET Web API项目中使用的包(或库) . 正如您所正确指出的那样,它的目的是为您的项目生成Swagger规范 . 另外,Swagger UI包含在Swashbuckle中,所以如果你在.NET中开发一个API,它真的是一个不错的一站式商店 . 它几乎全部用C#编写,而不是JavaScript .
是的,它确实以一种友好,人性化的方式显示Swagger规范 . 但是,Swashbuckle不是必需的组件 . 除了我刚才所说的,它们完全相互排斥 .
现在这已进入意见领域,但我会尽力客观 . 我使用Swashbuckle来协助为我的应用程序API创建客户端 . 在超越实施学习曲线(这并不多)之后,这个软件包为我自己写了很多时间 . 编写Web客户端对于小型应用程序来说是微不足道的事情,但企业级应用程序倾向于保持增长和/或复杂性的变化,因此将这些客户端的创建/更新完全自动化是很好的 .
简而言之,如果您决定不使用它,您必须采用另一种API客户端生成方法,或者自己编写/更新客户端 . 如果您只是开发后端,这对您来说可能毫无意义,但它肯定会帮助负责创建将使用您的API服务的客户端应用程序的任何人 .
我希望这些答案有所帮助 . 干杯!