我感兴趣的是在直接调用此端点所在的URL(https://<my app name>.appspot.com/_ah/api/endpoints/v1/test
)并向主体提供它时,获取到我的端点的HTTP POST请求的原始主体。以下是成功调用端点的方法:
@ApiMethod(name = "test", path = "test", httpMethod = ApiMethod.HttpMethod.POST)
public WrappedBoolean test(final HttpServletRequest request, ServletContext servletContext) throws Exception {
//???
return new WrappedBoolean(true);
}
不幸的是,尝试从InputStream
中检索HttpServletRequest
然后读取它,给我一个-1,意味着所有数据都已被读取。这是有道理的,因为App Engine端点运行时很可能已经处理了请求。
任何人都有关于如何获取POST到此端点的原始POST请求的观点?
答案 0 :(得分:0)
似乎无法轻松恢复原始邮件。必须进行额外的操作 - 例如在请求前面放置一个过滤器,读取请求,将其保存在属性中并在端点调用期间获取该属性。所有这一切都必须仔细完成,以免弄乱用于管理的SPI运行时(端点)的输入流,否则,不会调用端点。 无论如何,太麻烦了。我放弃了做一些真正意义不大的端点,并直接使用了一个java Servlet。