java:swagger-codegen生成CSharp(C#) Client
作者:互联网
基于Swagger的在线文档,Swagger提供了生成多种语言client端代码的功能。
如果Java Web服务基于Swagger提供了在线文档,基于服务运行时提供的在线文档,就可以生成client端代码,本文以CSharp(C#)为例说明生成CSharp Client的过程
使用 Swagger提供的Client端代码生成工具swagger-codegen
生成的CSharp client代码通过hello-world服务的HTTP服务接口(RESTful Web API)与Jav Web服务交互。
swagger-codegen
生成的是一个完整的包含Visual Studio编译工程文件的CSharp代码,将生成的CSharp 代码用Visual Studio编译成动态库,就可以为CSharp 项目调用。下介绍swagger-codegen
的生成CSharp Client的过程。
运行swagger-codegen
需要JDK 7(及以上)支持.
下载 swagger-codegen
从maven中央仓库下载 swagger-codegen (io.swagger:swagger-codegen-cli:2.4.20)
下载位置:https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.20/swagger-codegen-cli-2.4.20.jar
Linux或MacOS下可以用wget
下载:
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.20/swagger-codegen-cli-2.4.20.jar
生成代码
swagger-codegen-cli-2.4.20.jar
是一个可以独立运行的Java程序,只需要有JRE支持就可以支行,如下命令行执行swagger-codegen-cli
生成CSharp代码:
Windows CMD:
java -jar swagger-codegen-cli-2.4.20.jar generate ^
-i http://127.0.0.1:8080/v2/api-docs ^
-l csharp ^
--api-package hello_world --model-package hello_world.model ^
-o hello-world-client-csharp
client\facelog\csharp
为指定生成代码的输出文件夹
Linux:
java -jar swagger-codegen-cli-2.4.20.jar generate \
-i http://127.0.0.1:8080/v2/api-docs \
-l csharp \
--api-package hello_world --model-package hello_world.model \
-o hello-world-client-csharp
127.0.0.1:8080
为运行的hello-world服务主机名和HTTP端口号。swagger-codegen
将从运行的hello-world服务的Swagger在线文档中获取服务接口信息,据此生成CSharp Cient代码。
hello-world-client-csharp
为指定生成代码的输出文件夹
调用示例
参见生成代码文件夹下的README.md
标签:java,cli,C#,codegen,CSharp,world,swagger,hello 来源: https://blog.csdn.net/10km/article/details/121903519