忽略 Firebase x-http-method-override 参数

Firebase x-http-method-override parameter ignored

使用 ?x-http-method-override=PATCH 的 HTTP POST 请求被处理为 POST 而不是 Firebase REST API 上的 PATCH 调用。这种情况在过去两周内开始出现。

Firebase documentation 仍然提到这个参数,这是不再准确还是 Firebase 中的错误?

特定的 (Java) 代码在不直接支持 PATCH 的 Google Appengine 上运行。 (早于 App Engine 兼容的 Firebase SDK)

供参考,使用以下代码进行请求,响应表明请求成功,没有任何错误。

HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory(new 
HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest request) {
        request.setParser(new JsonObjectParser(JSON_FACTORY));
    }
});
String path = url+".json"+"?x-http-method-override=PATCH";
GenericUrl fullUrl = new GenericUrl(path);

JsonHttpContent content = new JsonHttpContent(JSON_FACTORY, data);
content.setMediaType(new HttpMediaType("application/json; charset=UTF-8"));
HttpRequest request = requestFactory.buildPostRequest(fullUrl,content);
HttpResponse response = request.execute();

firebaser 在这里

不幸的是,这个问题最近被引入到 Firebase 的 server-side REST 请求处理中。我们预计在 6 月 1 日之前修复。

在那之前,您必须传递正确的 HTTP 动词或请求 header 才能获得 PATCH 行为。对不起,我现在没有更好的消息。