首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swagger-Codegen自定义设置

Swagger-Codegen自定义设置
EN

Stack Overflow用户
提问于 2016-05-12 07:57:50
回答 2查看 11.2K关注 0票数 10

我正在使用swagger-codegen生成我的客户端C#类。它可以完成这项工作,但我想定制一些东西:

1)最重要的是,我如何告诉它使用哪个名称空间,或者可能是基本名称空间?现在所有生成的类都有IO.Swagger.Model命名空间,我该如何改变它呢?

2)我生成的所有模型都以I...就像在ICustomer中...如果类名以2个大写字母开头,并且第一个字母是I,那么有没有办法自动剥离第一个I?

3)如果可以做2,有没有办法让它附加一个:IWhatever?因此,如果它试图生成ICustomer,我希望看到:

代码语言:javascript
复制
public class Customer : ICustomer

这可以做到吗?

4)对于我的最后一个问题,我使用以下命令行:

代码语言:javascript
复制
java -jar swagger-codegen-cli.jar generate 
     -i http://localhost:57772/MyService/swagger/v1/swagger.json 
     -l csharp -o C:/Code/AutoGenned/MyService

问题是它会将以下内容添加到路径中: src\main\csharp\IO\Swagger

有没有办法让我不把这个添加到路径中?

5)最后,也是最不重要的,它生成了4个文件夹:ApiClientModelProperties。有没有办法只生成ClientModel文件夹?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-13 01:41:02

基于从swagger-codegen团队得到的回应和我自己的尝试:

1)要修复名称空间,我必须创建一个config.json文件,该文件基本上具有以下内容:

代码语言:javascript
复制
{
  "packageName": "My.Namespace.Whatever"
}

现在我的run命令是

代码语言:javascript
复制
    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

2)不能替换,但我可以预先...因此,我决定使用ApiICustomer来代替命名为ICustomer的类……因此,对于上面的命令,我添加了

代码语言:javascript
复制
--model-name-prefix Api

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的任何修复的最终结果是:

代码语言:javascript
复制
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
票数 16
EN

Stack Overflow用户

发布于 2017-05-26 10:59:17

对于点1),除了使用配置文件( -c config.json)之外,

您也可以直接使用选项:-DpackageName=My.Namespace.Whatever

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37175112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档