生成客户端代码时可以更改包名称

use*_*074 9 scala swagger-editor

我正在使用Swagger Edtior为API生成客户端scala代码.我粘贴了json然后做了一个Generate Client/Scala.它给了我一个默认的root包

io.swagger.client

我看不出任何明显的方法来指定不同的东西.可以这样做吗?

小智 13

步骤(1):创建文件config.json并添加以下行并定义包名称:

{
    "modelPackage" : "com.xyz.model",
    "apiPackage" : "com.xyz.api"
}
Run Code Online (Sandbox Code Playgroud)

步骤(2):现在,使用-c选项传递上述文件名和codegen命令:

$ java -jar swagger-codegen-cli.jar generate -i path/swagger.json -l java -o Code -c path/config.json
Run Code Online (Sandbox Code Playgroud)

现在,它将生成你的java包,如com.xyz ...而不是默认的一个io.swagger.client ...

  • 我正在使用 python 输出,我仍然将 swagger_client 视为初始名称,所以现在它生成 swagger_client.com.xyz.model 和 swagger_client.com.xyz.api。有什么方法可以在开始时摆脱 swagger_client 的影响吗? (2认同)

K P*_*ddy 6

运行以下命令以获取有关受支持的配置选项的信息

java -jar swagger-codegen-cli.jar  config-help -l scala
Run Code Online (Sandbox Code Playgroud)

这将为您提供有关此生成器支持的信息(在此示例中为Scala):

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
Run Code Online (Sandbox Code Playgroud)

接下来,使用上述参数定义config.json文件:

{
   "modelPackage": "your package name",
   "apiPackage": "your package name"
}
Run Code Online (Sandbox Code Playgroud)

并提供config.jsonswagger-codegen使用 -c标志作为输入。