2016-02-27 53 views
4

我對Google應用引擎和端點非常陌生,並且一直在編寫基本端點功能並部署到雲中。我成功地部署了HelloWorld的端點和測試它在API探險:http://localhost:8080/_ah/api/explorer我的Google雲端點API在api資源管理器上不可見

但現在當我創建了一個新的端點API,並遵循相同的步驟(即在AppEngine上-web.xml中使用新的App Engine應用程序的名稱部署,以appengine:update運行),api瀏覽器仍然顯示我的HelloWorld端點,而不是我的新API「yourfirstendpoint」。

我已經搜索並試圖找到一個答案無濟於事 - 即時對不起,如果這是一個非常基本和愚蠢的問題(我確信它),但我會真的很感激,如果有人可以指向我在我應該做的正確的方向。

我的API

package com.example.zinglife; 
 

 
    import com.google.api.server.spi.config.Api; 
 
    import com.google.api.server.spi.config.ApiMethod; 
 
    import com.google.api.server.spi.config.ApiMethod.HttpMethod; 
 
    import com.google.api.server.spi.response.NotFoundException; 
 
    import com.google.appengine.api.datastore.Key; 
 
    import com.google.appengine.api.datastore.KeyFactory; 
 

 

 
    /** 
 
    * 
 
    * Defines endpoint functions APIs. 
 
    */ 
 
    @Api(name = "yourfirstapi", version = "v1", 
 
    scopes = {Constants.EMAIL_SCOPE }, 
 
      clientIds = {Constants.API_EXPLORER_CLIENT_ID}, 
 
      description = "API for hello world endpoints.") 
 

 
    public class YourFirstAPI 
 
    { 
 

 
    
 
    @ApiMethod(name = "storeUserModel") 
 

 
     private User storeUserModel(User user) throws NotFoundException 
 
    { 
 
     \t 
 
      String email = user.getEmail(); 
 
      Key key = KeyFactory.createKey("User",email); 
 
    \t 
 
     \t User userEntity = null; 
 
     \t try 
 
     { 
 
     \t \t 
 
    \t if (userEntity==null) 
 
    \t \t { \t 
 
    \t \t userEntity = new User(); 
 
    \t  userEntity.setName(user.getName()); 
 
    \t  userEntity.setEmail(user.getEmail()); 
 
    \t  userEntity.setCountry(user.getCountry()); 
 
    \t  // 
 
    \t  
 
    \t \t } 
 
    \t 
 
    \t \t \t 
 

 
    \t \t return userEntity; 
 
    \t 
 
    \t 
 
     }//*endtry 
 
     \t finally 
 
     \t { 
 
     \t \t 
 
     \t } 
 
     \t 
 
     
 
     
 
     
 
     
 
    } 
 
     
 

 
    }

運行代碼後,App Engine的管理員登錄: enter image description here

請讓我知道是否需要任何其他信息:)

+0

api瀏覽器有時會出現故障。一般來說,你應該看到你的端點api。如果你不這樣做,這裏有一些可能性:你可能沒有正確生成和部署發現文檔,你上傳了一個新版本,但你沒有切換到默認的版本,你的瀏覽器中有過時的數據,應該清除瀏覽器緩存中,您忘記了將新的api類添加到web.xml中的com.google.api.server.spi.SystemServiceServlet init-params。 – konqi

回答

0

確保您已將您的新服務添加爲值fo之一r EndPointsServlet的'services'參數。

<servlet> 
    <!-- This is version 2.0 of the endpoints framework. --> 
    <servlet-name>EndpointsServlet</servlet-name> 
    <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class> 
    <init-param> 
     <param-name>services</param-name> 

     <!-- Comma separated classes that provide endpoints --> 
     <param-value> 
      com.mycompany.myproduct.endpoint.SomeServiceV1, 
      com.mycompany.myproduct.endpoint.SomeServiceV2, 
      com.mycompany.myproduct.endpoint.SomeOtherServiceV1, 
      com.mycompany.myproduct.endpoint.SomeOtherServiceV2, 
      com.mycompany.myproduct.endpoint.SomeOtherServiceV3 
     </param-value> 
    </init-param> 
</servlet> 
相關問題