我计划为现有的Restful API创建一个客户端,并选择使用Autorest或Swagger codegen等工具手动或自动创建。什么是正反两方面?自动生成客户端有什么缺点吗?
dgsult0t1#
事实上,我不认为有什么突破性的理由为什么你不应该使用代码生成器。我建议您查看一下发生器的未决问题(例如https://github.com/swagger-api/swagger-codegen/issues)一般来说,在外部代码生成时,我会想到一件事:如果你使用样式cop或任何其他编码样式验证器,那么生成的代码可能与你定义的编码样式规则不匹配。只要给予,就保存多少时间。
knpiaxh12#
既然你想在C#中完成这一点,你可能想看看Swashbuckle,它包含一个swagger生成器和Swagger-UI。对于客户端,您可以使用AutoRest等工具从swagger.json中为客户端生成C#、Java等代码。
a8jjtwal3#
如果您正在使用jQuery或Angular 2+开发C#客户端或TypeScript客户端,则在SDLC期间,替代ASP.NET Web API Client Generators可能比swagger工具链更方便、开销更小。
7jmck4yq4#
请尝试给予OpenAPI Generator。对于C#,请按照以下说明分3步生成API客户端(.NET核心):1.下载Java JAR(https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar)1.将JAR重命名为“openapi-generator-cli.jar”1.运行以下命令为Petstore API(https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml)生成一个C# .NET核心API客户端:Mac/Linux操作系统:我的意思是说,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思视窗:C:\tmp\csharp-netcore文件系统中的所有文件都是空的
4条答案
按热度按时间dgsult0t1#
事实上,我不认为有什么突破性的理由为什么你不应该使用代码生成器。
我建议您查看一下发生器的未决问题(例如https://github.com/swagger-api/swagger-codegen/issues)
一般来说,在外部代码生成时,我会想到一件事:如果你使用样式cop或任何其他编码样式验证器,那么生成的代码可能与你定义的编码样式规则不匹配。
只要给予,就保存多少时间。
knpiaxh12#
既然你想在C#中完成这一点,你可能想看看Swashbuckle,它包含一个swagger生成器和Swagger-UI。
对于客户端,您可以使用AutoRest等工具从swagger.json中为客户端生成C#、Java等代码。
a8jjtwal3#
如果您正在使用jQuery或Angular 2+开发C#客户端或TypeScript客户端,则在SDLC期间,替代ASP.NET Web API Client Generators可能比swagger工具链更方便、开销更小。
7jmck4yq4#
请尝试给予OpenAPI Generator。对于C#,请按照以下说明分3步生成API客户端(.NET核心):
1.下载Java JAR(https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar)
1.将JAR重命名为“openapi-generator-cli.jar”
1.运行以下命令为Petstore API(https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml)生成一个C# .NET核心API客户端:
Mac/Linux操作系统:
我的意思是说,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思
视窗:
C:\tmp\csharp-netcore文件系统中的所有文件都是空的