Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Possible to change the package name when generating client code

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?

like image 542
user79074 Avatar asked May 05 '16 12:05

user79074


2 Answers

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…

like image 130
Joy Avatar answered Nov 08 '22 04:11

Joy


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.

like image 14
K Pradeep Kumar Reddy Avatar answered Nov 08 '22 04:11

K Pradeep Kumar Reddy