在Eclipse中为Cloud Endpoints类生成API元数据时出错

时间:2015-02-11 01:30:36

标签: java eclipse google-app-engine google-cloud-endpoints google-eclipse-plugin

我有两种不同的云端点方法,有两种不同的名称签名

@ApiMethod(name = "getWhiteCats", httpMethod = HttpMethod.POST)
 public CollectionResponse<Cat> getWhiteCats(CatCall request)

@ApiMethod(name = "getGrayCats", httpMethod = HttpMethod.POST)
public CollectionResponse<Cat> getGrayCats(CatCall request)

但Eclipse正在提供异常

  

描述资源位置路径类型生成问题   您的Cloud Endpoints类的API元数据:   com.google.api.server.spi.config.validation.DuplicateRestPathException:   多个方法具有相同的休息路径“POST   collectionresponse_cat“:”getWhiteCats“和”getGrayCats“

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

我通过在@apiMethod注释中再传递一个参数来解决这个问题 例如在你的情况下

@ApiMethod(name =“getWhiteCats”,path =“Somepath_realted_to_your_service”,httpMethod = HttpMethod.POST)

答案 1 :(得分:0)

您需要使用path =“yourPathHere”为方法指定路径。 看起来应该是这样的:

module.exports = {
  'walls' : function (browser) {
    browser
      .url('file://' + process.cwd() + '/gridmapper.svg')
      .assert.elementPresent('#walls0')
      .sendKeys('#ui', 'w')
      .waitForElementPresent('#wall_0_0', 1000)
      .end();
  }
};

@ApiMethod(name = "getWhiteCats", path = "getWhiteCats", httpMethod = HttpMethod.POST)
 public CollectionResponse getWhiteCats(CatCall request)

路径不一定是@ApiMethod的名称,但我强烈推荐它。