【发布时间】:2016-10-26 15:36:46
【问题描述】:
我对整个 Google Cloud Endpoint/Google App Engine 世界完全陌生。如果您已经浏览过 Google 提供的 Hello World 示例(并且您可能已经浏览过),您可能还记得有 2 个为您自动生成的类:MyBean 和 MyEndpoint。
这些是这样的:
/**
* The object model for the data we are sending through endpoints
*/
public class MyBean {
private String myData;
public String getData() {
return myData;
}
public void setData(String data) {
myData = data;
}
}
还有,
/**
* An endpoint class we are exposing
*/
@Api(
name = "myApi",
version = "v1",
namespace = @ApiNamespace(
ownerDomain = "backend.myapplication.DJ.example.com",
ownerName = "backend.myapplication.DJ.example.com",
packagePath = ""
)
)
public class MyEndpoint {
/**
* A simple endpoint method that takes a name and says Hi back
*/
@ApiMethod(name = "sayHi")
public MyBean sayHi(@Named("name") String name) {
MyBean response = new MyBean();
response.setData("Hi, " + name);
return response;
}
}
现在,我检查了 index.html 中的代码(在部署后端时打开)。我在 javascript 中找到了以下调用:
gapi.client.myApi.sayHi({'name': name}).execute(
现在,我可以通过注解看到 myApi 是名称,而 sayHi() 是相应的方法,我不明白的是公开 API 的概念,注解有助于实现这一点。没有任何关于公开 API 的信息。
谁能帮我理解这个?
【问题讨论】:
标签: java google-app-engine annotations google-cloud-endpoints