忽略 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 行为。对不起,我现在没有更好的消息。
使用 ?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 行为。对不起,我现在没有更好的消息。