首页 文章

什么是Swagger,Swashbuckle和Swashbuckle UI

提问于
浏览
9

这是我的理解:

  • Swagger是编写文档的符号/规则 . 但为什么它被称为框架(如Angular / MVC)?

  • Swashbuckle是一个生成文档的程序(JavaScript?)(基于Swagger规则) .

  • Swagger UI显示文档 . 它使用Swashbuckle来做到这一点 .

这些信息是否正确?如果没有,有人可以用简单的术语解释什么是Swagger,Swashbuckle和Swashbuckle UI意味着什么?

另外,如果我不使用它,我作为API开发人员会失去什么?

1 回答

  • 12

    Swagger是编写文档的符号/规则 . 但为什么它被称为框架(像angular / MVC)?

    它可能被称为“框架”,因为它的目的是提供一种系统的方法来记录OpenAPI规范下任何RESTful服务的接口 . 这对开发人员来说是一个大问题,因为规范是由着名的Linux基金会下的Open API Initiative监督的 .

    Swashbuckle是一个生成文档的程序(javascript?)(基于Swagger规则)

    Swashbuckle更像是一个可以在.NET Web API项目中使用的包(或库) . 正如您所正确指出的那样,它的目的是为您的项目生成Swagger规范 . 另外,Swagger UI包含在Swashbuckle中,所以如果你在.NET中开发一个API,它真的是一个不错的一站式商店 . 它几乎全部用C#编写,而不是JavaScript .

    Swagger UI显示文档 . 它使用Swashbuckle来做到这一点 .

    是的,它确实以一种友好,人性化的方式显示Swagger规范 . 但是,Swashbuckle不是必需的组件 . 除了我刚才所说的,它们完全相互排斥 .

    如果我不使用它,我还会作为API开发人员放松一下 .

    现在这已进入意见领域,但我会尽力客观 . 我使用Swashbuckle来协助为我的应用程序API创建客户端 . 在超越实施学习曲线(这并不多)之后,这个软件包为我自己写了很多时间 . 编写Web客户端对于小型应用程序来说是微不足道的事情,但企业级应用程序倾向于保持增长和/或复杂性的变化,因此将这些客户端的创建/更新完全自动化是很好的 .

    简而言之,如果您决定不使用它,您必须采用另一种API客户端生成方法,或者自己编写/更新客户端 . 如果您只是开发后端,这对您来说可能毫无意义,但它肯定会帮助负责创建将使用您的API服务的客户端应用程序的任何人 .

    我希望这些答案有所帮助 . 干杯!

相关问题