Possible to change the package name when generatin

2019-04-26 15:50发布

问题:

I am generating the client scala code for an API using the Swagger Edtior. I pasted the json then did a Generate Client/Scala. It gives me a default root package of

io.swagger.client

I can't see any obvious way of specifying something different. Can this be done?

回答1:

Step (1): Create a file config.json and add following lines and define package names:

{
    "modelPackage" : "com.xyz.model",
    "apiPackage" : "com.xyz.api"
}

Step (2): Now, pass the above file name along with codegen command with -c option:

$ java -jar swagger-codegen-cli.jar generate -i path/swagger.json -l java -o Code -c path/config.json

Now, it will generate your java packages like com.xyz… instead of default one io.swagger.client…



回答2:

Run the following command to get information about the supported configuration options

java -jar swagger-codegen-cli.jar  config-help -l scala

This will give you information about supported by this generator (Scala in this example):

CONFIG OPTIONS

    sortParamsByRequiredFlag
        Sort method arguments to place required parameters before optional parameters. (Default: true)

    ensureUniqueParams
        Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)

    modelPackage
        package for generated models

    apiPackage
        package for generated api classes

Next, define a config.json file with the above parameters:

{
   "modelPackage": "your package name",
   "apiPackage": "your package name"
}

And supply config.json as input to swagger-codegen using the -c flag.