Google app engine Google云端点从随机API版本返回值

Google app engine Google云端点从随机API版本返回值,google-app-engine,google-cloud-endpoints,Google App Engine,Google Cloud Endpoints,我已经用谷歌云端点创建了一个简单的API。现在,我想为这个API创建一个新版本 我有以下课程: @Api(name = "helloworld", version = "v1") public class HelloWorldApi { @ApiMethod(name = "sayHello", path = "/sayHello", httpMethod = "get") public HelloWorld SayHello(){ return new

我已经用谷歌云端点创建了一个简单的API。现在,我想为这个API创建一个新版本

我有以下课程:

@Api(name = "helloworld",
    version = "v1")
public class HelloWorldApi {
    @ApiMethod(name = "sayHello", path = "/sayHello", httpMethod = "get")
    public HelloWorld SayHello(){
        return new HelloWorld("Hello World v1");
    }
}

然后我部署并转到[myapplication].appspot.com//\u ah/api/explorer。在这里,我可以在默认为“v2”的“所有版本”中看到这两个版本

问题是我用哪一个都不重要。它们都随机返回“Hello World v1”或“Hello World v2”


我做错了什么?

发现问题与路径有关。在这两个版本中,我都从api定义中删除了path元素,它工作得很好

我现在可以看到正在呼叫
http://localhost:8888/_ah/api/helloworld/v1/SayHello
http://localhost:8888/_ah/api/helloworld/v2/SayHello
。我猜硬编码路径删除了/v1和/v2,这两个版本将同时被调用,只返回其中一个

@Api(name = "helloworld",
    version = "v2")
public class HelloWorldApiV2 {
    @ApiMethod(name = "sayHello", path = "/sayHello", httpMethod = "get")
    public HelloWorld SayHello(){
        return new HelloWorld("Hello World v2");
    }
}