0

我计划为现有的 Restful API 创建一个客户端,并选择手动或使用 Autorest 或 Swagger codegen 等工具自动完成。
两种方式的优缺点是什么?
自动生成客户端有什么缺点吗?

4

4 回答 4

3

事实上,我认为没有理由不使用代码生成器。

我建议您查看生成器的未解决问题(例如https://github.com/swagger-api/swagger-codegen/issues

一般来说,关于外部代码生成,我想到了一件事。如果您使用样式警察或任何其他编码样式验证器,则生成的代码可能与您定义的编码样式规则不匹配。

试一试,你可以节省很多时间。

于 2017-11-24T19:40:05.810 回答
1

由于您想在 C# 中执行此操作,您可能需要查看 Swashbuckle,它包含一个 swagger 生成器和 Swagger-UI。

对于客户端,您可以使用 AutoRest 等工具从 swagger.json 中为客户端生成 C#、Java 等代码。

于 2017-12-15T08:48:44.270 回答
0

请尝试使用 OpenAPI 生成器。对于 C#,请按照以下说明通过 3 个步骤生成 API 客户端(.NET Core):

  1. 下载 Java JAR ( https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.1.0-SNAPSHOT/openapi-generator-cli-4.1.0-20190729.024538-72 .jar )
  2. 将 JAR 重命名为“openapi-generator-cli.jar”
  3. 运行以下命令为 Petstore API 生成 C# .NET Core API 客户端 ( https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/宠物商店.yaml):

Mac/Linux:

$ java -jar openapi-generator-cli.jar 生成 -g csharp-netcore -i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0 /petstore.yaml -o /var/tmp/csharp-netcore/

视窗:

$ java -jar openapi-generator-cli.jar 生成 -g csharp-netcore -i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0 /petstore.yaml -o C:\tmp\csharp-netcore

于 2019-08-04T10:37:06.007 回答
0

如果您正在使用 jQuery 或 Angular 2+ 开发 C# 客户端或 TypeScript 客户端,那么替代ASP.NET Web API 客户端生成器可能比 SDLC 期间的 swagger 工具链更方便,开销更少。

于 2019-01-29T06:13:24.017 回答