gpt4 book ai didi

java - Google Eclipse 插件在 Google Cloud Endpoints 中的方法干扰

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:03:37 26 4
gpt4 key购买 nike

我在使用 Google Appengine Eclipse 插件生成端点时遇到奇怪的行为。我有一个包含 20 多个端点方法的端点类。当我第一次尝试为 android 生成端点时出现错误

 Generating Cloud Endpoint has encountered errors and is not complete

通过排错的方式,我注释掉了所有找到罪魁祸首的方法。我发现的有点莫名其妙。取消第 16 个方法的注释后,我再次收到错误。有两种方法相互干扰!如果我注释掉一个或另一个端点生成正常。但是,如果我都取消注释,则会出现上述错误。

有谁知道可能造成这种干扰的原因是什么?

@ApiMethod(name = "getOrangers", httpMethod = HttpMethod.POST)
public FaceList getOrangers(UserRequest request) throws NotFoundException {
FaceList list = new FaceList();
return list;
}

@ApiMethod(name = "getMangoers", httpMethod = HttpMethod.POST)
public FaceList getMangoers(UserRequest request) throws NotFoundException {
FaceList list = new FaceList();
return list;
}

我已经将方法编辑到它们的 stub ,如上所示,但仍然遇到相同的干扰问题。

最佳答案

首先,当您收到一 strip 有令人讨厌的非描述性消息的错误时:

Generating Cloud Endpoint has encountered errors and is not complete

您应该检查 Window -> Show View -> Error Log 下的Error Log 以获取更多信息。


我这样做了,我发现实际异常是:

java.lang.IllegalArgumentException: 
Multiple methods with same rest path "POST facelist": "getOrangers" and "getMangoers"

所以,问题是您的 2 个方法具有相同的路径!为您的方法显式添加路径将解决问题:

@ApiMethod(name="getOrangers", path="get_oranges", httpMethod=HttpMethod.POST)
public FaceList getOrangers(UserRequest request) throws NotFoundException {
//...
}

@ApiMethod(name="getMangoers", path="get_mangoers", httpMethod=HttpMethod.POST)
public FaceList getMangoers(UserRequest request) throws NotFoundException {
//...
}

注意:由于您没有为您的方法设置路径,GPE 会自动生成它们。似乎 GPE 正在为这两种方法生成相同的路径,使用 HTTP 方法 (POST) 和返回值 (facelist) 形成路径,但它不t 与 Google Cloud Endpoints Documentation 中所说的相符:

"path: The URI path to use to access this method. If you don't set this, a default path is used based on the Java method name."

它说路径是使用方法名称自动生成的,在这种情况下你不会收到任何错误,因为你的 2 个方法有明显不同的名称。所以我猜它一定是 Endpoints 中的错误(和其他许多错误一样)。

关于java - Google Eclipse 插件在 Google Cloud Endpoints 中的方法干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17003093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com