I use swagger-springmvc and swagger-codegen to create a Java client library for the RESTful web service. I wrote my own extension BasicJavaGenerator (see below) to override package names and can successfully generate client library files. "Basic" created files:
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
What I can not find is setting the name of my API to force the code generator to rename ApiApi.java to MyProjectApi.java (for example), as is done in the examples included in swagger-codegen, I tried to look at the code of the code generator to override the api name, and also tried to look at both the swagger json specification and the springmvc swagger function on the option to set the name.
Code generator:
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") }
source share