Javascript 从web应用程序(java/jsp)端点调用google api explorer方法

Javascript 从web应用程序(java/jsp)端点调用google api explorer方法,javascript,jsp,google-app-engine,google-cloud-endpoints,google-cloud-datastore,Javascript,Jsp,Google App Engine,Google Cloud Endpoints,Google Cloud Datastore,我想从我的google explorer api调用我的方法。我有一个带有端点的web应用程序客户端(java/jsp)。我的方法: // Method to fetch result from datastore with email and date param @ApiMethod(name = "greetings.getDataNewSeance", httpMethod = "get") public List getDataInStore(@Named("Email")

我想从我的google explorer api调用我的方法。我有一个带有端点的web应用程序客户端(java/jsp)。我的方法:

  // Method to fetch result from datastore with email and date param
  @ApiMethod(name = "greetings.getDataNewSeance", httpMethod = "get")
  public List getDataInStore(@Named("Email") String email, @Named("Date") String date) {

    List<String> listNewSeance = new ArrayList<String>();

    Query q = new Query("NewSeance");
    q.addFilter("Email", Query.FilterOperator.EQUAL, email);
    q.addFilter("Date", Query.FilterOperator.EQUAL, date);

    PreparedQuery pq = datastore.prepare(q);

    for (Entity entity : pq.asIterable()) 
    {
    listNewSeance.add((String)entity.getProperty("Email"));
    listNewSeance.add((String)entity.getProperty("Date"));
    listNewSeance.add((String)entity.getProperty("Calories"));
    listNewSeance.add((String)entity.getProperty("Distance"));
    listNewSeance.add((String)entity.getProperty("MeterMin"));
    listNewSeance.add((String)entity.getProperty("Time"));
    }

    return listNewSeance;

    }
//使用email和date参数从数据存储中获取结果的方法
@ApiMethod(name=“问候语.getDataNewSeance”,httpMethod=“get”)
公共列表getDataInStore(@Named(“Email”)字符串Email,@Named(“Date”)字符串Date){
List listnewseanse=newarraylist();
查询q=新查询(“新意义”);
q、 addFilter(“电子邮件”,Query.FilterOperator.EQUAL,电子邮件);
q、 addFilter(“日期”,Query.FilterOperator.EQUAL,日期);
PreparedQuery pq=数据存储。prepare(q);
对于(实体:pq.asIterable())
{
添加((字符串)entity.getProperty(“电子邮件”);
添加((字符串)entity.getProperty(“日期”);
添加((字符串)entity.getProperty(“卡路里”);
添加((字符串)entity.getProperty(“距离”);
添加((字符串)entity.getProperty(“MeterMin”);
添加((字符串)entity.getProperty(“时间”);
}
返回listnewsiance;
}
Q1: 我必须像本教程中那样使用javascript调用吗

或者我可以像在android客户端一样在java/jsp中实现这一点吗

Q2:
我的方法“getDataNewSeance()”正确吗?

谷歌云端点是加速后端服务开发的好方法。它允许您轻松发布服务,还可以使用不同的技术(如Android或iOS应用程序)方便地访问这些服务。无论如何,它仍然遵循一些标准,比如REST/JSON。也就是说,让我试着回答我们的问题:

Q1:您不必使用javascript库来访问服务。您可以使用几乎任何您想要的客户端调用该服务。只需拨打其他电话即可为您服务

问题2:我会改变一些事情。。。我认为你应该考虑的最重要的改变是改变你的结果数据结构。您将返回一个字符串列表,可以是电子邮件、日期、卡路里等。例如,您可以使用所有这些属性创建一个POJO,并使用Jackson或Gson将该POJO序列化为JSON。您的结果将是一个包含多个条目的JSON。在实际应用程序中,您可能还希望创建一个DAO来封装对数据存储的数据访问,而不是将此代码放在API层中。我喜欢保持API层尽可能薄

祝你好运