Ser*_*gan 6 c# asp.net-web-api swagger-codegen
我swagger-codegen用来生成我的客户端C#类.它完成了这项工作,但有一些我想定制的东西:
1)最重要的是,我如何告诉它使用哪个命名空间或基本命名空间?现在所有的genned类都有IO.Swagger.Model命名空间,我该如何改变呢?
2)我生成的所有模型都以I开头......就像在ICustomer中一样...有没有办法自动条带,如果类名以2个大写字母开头,第一个字母是I?
3)如果2可以完成,有没有办法让它附加一个:IWhatever?所以,如果它试图生成ICustomer,我想看到:
public class Customer : ICustomer
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?
4)对于我的上一个问题,我正在使用此命令行:
java -jar swagger-codegen-cli.jar generate
-i http://localhost:57772/MyService/swagger/v1/swagger.json
-l csharp -o C:/Code/AutoGenned/MyService
Run Code Online (Sandbox Code Playgroud)
问题是它将它添加到路径:src\main\csharp\IO\Swagger
有没有办法让我没有添加到路径?
5)最后,和至少重要的是,它一族4个文件夹:Api,Client,Model,和Properties.有没有办法只生成Client和Model文件夹?
Ser*_*gan 10
基于获得swagger-codegen团队的回应并自行尝试:
1)要修复命名空间,我必须创建一个config.json基本上具有以下内容的文件:
{
"packageName": "My.Namespace.Whatever"
}
Run Code Online (Sandbox Code Playgroud)
现在我的运行命令是
java -jar swagger-codegen-cli.jar generate
-i http://localhost:57772/MyService/swagger/v1/swagger.json
-l csharp -o C:/Code/AutoGenned/MyService
-c config.json
Run Code Online (Sandbox Code Playgroud)
2)不能替换,但我可以预先...所以没有一个名为ICustomerI 的类决定ApiICustomer更有意义......所以对于上面的命令,我添加了
--model-name-prefix Api
Run Code Online (Sandbox Code Playgroud)
3)仍然不确定这是否可行.
4)看起来新的变化即将发生变化,这将改变其运作方式.https://github.com/swagger-api/swagger-codegen/issues/2837
5)基于以下信息:https://github.com/swagger-api/swagger-codegen#selective-generation您可以通过添加java系统属性来完成此操作java -Dwhateverproperty.所以最终结果,不包括对#3的任何修复:
java -Dmodels -DsupportingFiles -jar swagger-codegen-cli.jar generate
-i http://localhost:57772/MyService/swagger/v1/swagger.json
-l csharp -o C:/Code/AutoGenned/MyService
-c C:/Code/SwaggerCodeGen/config.json
--model-name-prefix Api
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6822 次 |
| 最近记录: |