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

trf*_*trf 6 swagger

我使用的招摇,用SpringMVC招摇,代码生成,生成一个RESTful Web服务Java客户端库.我编写了自己的BasicJavaGenerator扩展(见下文)来覆盖包名,并且可以成功生成客户端库文件.生成的"主要"文件是:

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
Run Code Online (Sandbox Code Playgroud)

我找不到的是如何设置我的API的名称以使代码生成器将ApiApi.java重命名为MyProjectApi.java(例如),这似乎是在swagger-codegen中包含的示例中完成的.我已经尝试查看代码生成器代码来覆盖api名称,并且还尝试查看swagger json spec和swagger springmvc功能以设置名称的选项.

代码生成器:

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")
}
Run Code Online (Sandbox Code Playgroud)

feh*_*guy 8

您可以这样覆盖此行为:

  override def toApiName(name: String) = "MyProject" + name
Run Code Online (Sandbox Code Playgroud)

如你所愿.请注意,您应该考虑升级到2.1.0-SNAPSHOT,它位于https://github.com/swagger-api/swagger-codegen/tree/develop_2.0