HTTPServlet和APIMethod之间的区别 - AppEngine

时间:2015-08-08 02:48:50

标签: 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只允许我返回单个值。

这些是正确的吗?

1 个答案:

答案 0 :(得分:0)

从本质上讲,是的,你可以在技术上用API方法和HTTPservlet做类似的事情。

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

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

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