Параметр Firebase x-http-method-override игнорируется

HTTP POST запросы с использованием ?x-http-method-override=PATCH обрабатываются как POST вместо вызовов PATCH в Firebase REST API. Это начало происходить некоторое время в последние две недели.

В документации Firebase все еще упоминается этот параметр, является ли он более неточным или это ошибка в Firebase?

Специальный (Java) код работает в Google Appengine, где PATCH не поддерживается напрямую. (Предшественник 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();

1 ответ

Решение

пожарный здесь

К сожалению, эта проблема была недавно введена в серверную обработку запросов REST в Firebase. Мы ожидаем, что будет исправлено к 1 июня.

До этого времени вам придется передавать правильный HTTP-глагол или заголовок запроса, чтобы получить поведение PATCH. Извините, у меня пока нет хороших новостей.