Google Cloud Endpoint + Restful + CRUD

时间:2014-05-07 13:25:09

标签: android google-app-engine rest crud

我正在使用Google App Engine和Google Cloud Endpoints在我的Android应用(前端)和在云中运行的网络服务(后端)之间进行通信。但我想知道用于GET和POST的URL。

想象一下,您在服务器上有一个注释列表,每个注释都有一个标题和一个id。根据CRUD(创建,更新,删除),HTTP / HTTPS调用应该如下所示:

获取所有笔记:

GET http://domain.eu/notes

通过它的id获取特定注释(假设为123):

GET http://domain.eu/notes/id

等等。但谷歌使用了不同的模式。例如,如果您使用API​​资源管理器,则会收到如下调用:

GET https://domain/_ah/api/notesEndpoint/v1/notesdata

问题:是否有一般方式来接听列出所有笔记的电话?根据源代码中的注释,它应该有点像/ notes或/notes.listNodes我根本不明白Google如何构造URL的

1 个答案:

答案 0 :(得分:1)

Google Cloud Endpoints使用API​​-Explorer系统。

/_ah/api 是为API资源管理器定义的,您无法对其进行更改。 notesEndpoint 是您的Api名称, v1 是您定义的版本。 notesdata 是方法的名称。您可以通过注释覆盖路径。

示例,通过

访问笔记
  

域/ _ah / API / notesEndpoint / V1 /注释

您必须制作此方法:

@ApiMethod(
    name = "notes.listNodes",
    path = "notes",
    httpMethod = HttpMethod.GET
 )
 public List<Foo> notesdata() {
    return myList;
 }

(文档链接:DOC

有关信息,使用此系统,您可以使用以下网址浏览您的API:

  

获取http://domain.eu/_ah/api/explorer