3

使用的 HTTP POST 请求?x-http-method-override=PATCH正在作为 POST 而不是 Firebase REST API 上的 PATCH 调用进行处理。这已经在过去两周的某个时间开始发生。

Firebase 文档仍然提到这个参数,这是不再准确还是 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();
4

1 回答 1

2

火力基地在这里

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

在此之前,您必须传递正确的 HTTP 动词或请求标头才能获得 PATCH 行为。抱歉,我暂时没有更好的消息。

于 2017-05-24T18:13:41.433 回答