Swagger UI与Swagger CodeGen有什么区别?

问题描述

Swagger UI和Swagger CodeGen有什么区别?

我阅读了https://swagger.io/tools/中的说明。听起来Swagger编辑器,UI和codeGen是完全不同的工具。如果我想生成.Net服务器存根并将其可视化,是否意味着我需要同时使用UI和CodeGen?

解决方法

是的,它们是用于不同目的的不同工具。

Swagger UI是一个文档渲染器,基本上是一个HTML页面。您将其指向一个OpenAPI定义(YAML或JSON文件),并且Swagger UI生成看起来像like this的API文档。您可以将其托管在您的网站上。

Swagger Editor是一个编辑器,您可以在其中手动编写OpenAPI定义,也可以加载/粘贴任意OpenAPI定义以检查其语法错误。 Swagger编辑器还集成了Swagger Codegen,可通过“生成服务器”和“生成客户端”菜单进行访问。

Swagger Codegen是代码生成器。您可以使用它从OpenAPI定义生成服务器存根和客户端SDK。例如,以下是使用Swagger Codegen CLI(为提高可读性而添加换行符)生成ASP.NET服务器存根的方法:

java -jar swagger-codegen-cli-3.0.21.jar generate
     -i https://petstore.swagger.io/v2/swagger.yaml
     -l aspnetcore
     -o .\aspnetcore-server