我正在使用swagger-springmvc和swagger-codegen为RESTful for服务生成一个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 (例如),就像with 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")
}发布于 2015-02-10 05:44:31
您可以按如下方式覆盖此行为:
override def toApiName(name: String) = "MyProject" + name只要你觉得合适。请注意,您应该考虑升级到2.1.0-SNAPSHOT,它位于https://github.com/swagger-api/swagger-codegen/tree/develop_2.0中
发布于 2015-02-10 13:15:42
除了被接受的答案-为了获得正确的大小写,您还可以使用:
override def toApiName(name: String) = "MyProject" + name.capitalizehttps://stackoverflow.com/questions/28414991
复制相似问题