2014-09-26 64 views
0

我已經使用Google Cloud端點創建了一個簡單的API。現在,我想爲這個API創建一個新版本。Google Cloud端點從隨機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"); 
    } 
} 

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

然後我部署和去[所有MyApplication] .appspot.com訪問/ _ah/API /探險。在這裏,我可以在「所有版本」中看到「v2」作爲默認版本。

問題是,我使用哪一個並不重要。他們隨機返回「Hello World v1」或「Hello World v2」。

我在做什麼錯?

回答

1

原來問題與路徑有關。我從兩個版本的api定義中刪除了路徑元素,並且它工作正常。

我現在可以看到的是,呼叫被以http://localhost:8888/_ah/api/helloworld/v1/SayHellohttp://localhost:8888/_ah/api/helloworld/v2/SayHello分別作了。我猜硬編碼路徑刪除了/ v1和/ v2,並且同時調用這兩個版本,只返回其中的一個。