【问题标题】:How do I change the API name in the class generated by swagger-codegen如何更改 swagger-codegen 生成的类中的 API 名称
【发布时间】:2015-04-09 12:01:02
【问题描述】:

我正在使用 swagger-springmvcswagger-codegen 为 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

我找不到的是如何设置我的 API 的名称以使代码生成器将 ApiApi.java 重命名为 MyProjectApi.java(例如),就像在 swagger-codegen 中包含的示例中所做的那样.我尝试查看代码生成器代码以覆盖 api 名称,还尝试查看 swagger json 规范和 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")
}

【问题讨论】:

    标签: swagger


    【解决方案1】:

    您可以像这样覆盖此行为:

      override def toApiName(name: String) = "MyProject" + name
    

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

    【讨论】:

    • 非常感谢,效果很好!我现在就试试 2.1.0-SNAPSHOT。
    【解决方案2】:

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

    override def toApiName(name: String) = "MyProject" + name.capitalize
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      相关资源
      最近更新 更多