java - HTTPServlet 和 APIMethod 之间的区别 - AppEngine

标签 java google-app-engine servlets

因此,我正在尝试自学后端开发,并使用 Google App Engine 来帮助我。

我的问题是: HTTP Servlet 和 API 方法有什么区别?

他们似乎对我做了同样的事情。 让我们使用一个应用程序示例,您可以在客户端上做简短的记录并将其发送到服务器进行处理:

@ApiMethod(httpMethod = "POST")
public final String sendShortNote(@Named("note") final String note) throws ServiceException {
    // Do POSTlike things here
}

并设置一个 HTTPServlet 来处理 doPost 并从正文中检索注释:

public class NoteServlet extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    req.getParameter("note");
    //continue to do things and return a response.
}

据我所知,Servlet 允许我向 HTTP 主体添加内容,而 ApiMethod 只是将参数添加为查询 url,这使得 Servlet 更安全?

此外,Servlet 允许我通过响应返回多个值,而 APIMethod 只允许我返回单个值。

这些正确吗?

最佳答案

本质上,是的,从技术上讲,您可以使用 API 方法和 HTTPservlet 执行类似的操作。

当您构建 HTTPservlet 时,它是您在 appengine-web.xml 中映射的处理程序,然后您需要编码。

当您构建 API 方法时,它实际上是一个“Endpoint ”,它公开了可以在后端实例上运行的方法。

通常端点更多地用于创建 Web 后端,因此主要用于移动设备。

关于java - HTTPServlet 和 APIMethod 之间的区别 - AppEngine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31889129/

相关文章:

java - Maven - 为java项目中的每个java包创建一个jar

google-app-engine - 具有自定义域的云存储上的 SSL

Java - getServletContext().getAttribute() 返回 null

java - 在 Google App Engine 中读取 Java Servlet 输入流时出现问题

java - session.invalidate 之后未调用 attributeRemoved

Java:使子类仅与相同的子类具有可比性

java - 元素在点不可点击。其他元素会收到点击 :

java - com.google.appengine.tools.development.agent.runtime.Runtime 类无法访问该类的成员

用于分析计算的 Java 设计模式

angular - Google Cloud App Engine 上的刷新页面抛出 404