1

我正在使用Swagger codegen生成 REST 客户端 API。我有一个支持类,它使用如下所示的小胡子文件:

package {{package}};

import {{apiPackage}}.*;

public class MyClient {
  private final String basePath, token;
  {{#apis}}
  private {{className}} i{{className}};
  {{/apis}}

  public MyClient(String basePath, String token){
    this.basePath = basePath;
    this.token = token;
  }

  {{#apis}}
  {{className}} get{{className}}(){
    if(i{{className}}==null) i{{className}} = new {{className}}(basePath, token);
    return i{{className}};
  }
  {{/apis}}
}

生成的类如下所示:

包 com.mypackage.client;

导入 com.mypackage.client.api.*;

public class MyClient {
  private final String basePath, token;
  private AdminApi iAdminApi;
  private AppApi iAppApi;
  public MyClient(String basePath, String token){
    this.basePath = basePath;
    this.token = token;
  }

  AdminApi getAdminApi(){
    if(iAdminApi==null) iAdminApi = new AdminApi(basePath, token);
    return iAdminApi;
  }
  AppApi getAppApi(){
    if(iAppApi==null) iAppApi = new AppApi(basePath, token);
    return iAppApi;
  }
  }

这显然是丑陋的。生成的其余代码看起来不错,但我似乎无法弄清楚为什么这一类很糟糕。小胡子文件中有什么我做错了吗?

4

0 回答 0