首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改swagger-codegen生成的类中的API名称

如何更改swagger-codegen生成的类中的API名称
EN

Stack Overflow用户
提问于 2015-02-10 00:52:59
回答 2查看 9.2K关注 0票数 7

我正在使用swagger-springmvcswagger-codegen为RESTful for服务生成一个Java客户端库。我已经编写了自己的BasicJavaGenerator扩展(见下文)来覆盖包名称,并且可以成功地生成客户端库文件。生成的“主”文件是:

代码语言:javascript
复制
swagger-codegen/generated-code/java/pom.xml
swagger-codegen/generated-code/java/src/main/java/com/example/ApiApi.java
swagger-codegen/generated-code/java/src/main/java/com/example/model/*.java

我找不到的是如何设置我的API的名称,以便让代码生成器将ApiApi.java重命名为MyProjectApi.java (例如),就像with swagger-codegen中包含的示例中所做的那样。我尝试查看代码生成器代码以覆盖api名称,还尝试查看swagger json规范和swagger springmvc功能来设置名称。

代码生成器:

代码语言:javascript
复制
package com.wordnik.swagger.codegen

import com.wordnik.swagger.codegen.BasicJavaGenerator

object MyJavaGenerator extends BasicJavaGenerator {
  def main(args: Array[String]) = generateClient(args)

  // api invoker package
  override def invokerPackage = Some("com.example.api")

  // package for models
  override def modelPackage = Some("com.example.api.model")

  // package for api classes
  override def apiPackage = Some("com.example.api")
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-10 05:44:31

您可以按如下方式覆盖此行为:

代码语言:javascript
复制
  override def toApiName(name: String) = "MyProject" + name

只要你觉得合适。请注意,您应该考虑升级到2.1.0-SNAPSHOT,它位于https://github.com/swagger-api/swagger-codegen/tree/develop_2.0

票数 8
EN

Stack Overflow用户

发布于 2015-02-10 13:15:42

除了被接受的答案-为了获得正确的大小写,您还可以使用:

代码语言:javascript
复制
override def toApiName(name: String) = "MyProject" + name.capitalize
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28414991

复制
相关文章

相似问题

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