После обновления поставщика данных React Admin Simple Rest все запросы возвращают диапазон 416, который невозможно выполнить

#react-admin

#react-admin

Вопрос:

После обновления ra-data-simple-rest с версии 3.3.2 до версии 3.10.4 каждый запрос к нашему API для списков начал завершаться сбоем с ошибкой Диапазон 416, который невозможно выполнить. Серверная часть не изменилась, и мы по-прежнему разрешаем и возвращаем заголовок Content-Range, как предписано документацией
ReactAdmin, т.е.:

 headers: 
    {
    'Access-Control-Expose-Headers': 'Content-Range',
      'Content-Range': 'myresource 0-50/32'
    }
  }
 

Я проверил исходный код ReactAdmin Data Simple Rest и, насколько я понимаю, изменение связано с добавлением другого диапазона заголовков из-за некоторого поведения в Chrome (см. Историю коммитов)

С тех пор, однако, все запросы, выполняемые через ReactAdmin, завершаются сбоем в браузере из-за ошибки 416 Range Not Satisfieble . Проверка с помощью CURL и Postman запрос проходит и содержит все необходимые заголовки, правильно выставленные.

Вручную удалив этот новый заголовок диапазона непосредственно перед отправкой запроса с помощью FetchUtils, проблема исчезает.

После исследования и тестирования мы выяснили, что подход Content-Range для разбивки на страницы, используемый ReactAdmin, был каким-то хакерским, и лучше всего использовать X-Total-Count .

Мы полностью удалили заголовок ContentRange и вместо этого использовали XTotalCount (мы указали параметр в dataProvider / httpclient, как задокументировано, и проблема исчезла.

Чего я не понимаю, так это почему это произошло. Я не вижу в коде ничего, что мешает мне по-прежнему использовать Content-Range, и, к сожалению, я не нашел никакой документации в журнале изменений или обновлении (или проблемах), которые говорят о возникшей у нас проблеме. Поэтому мне интересно, делали ли мы что-то не так в нашем бэкэнде или в том, как мы используем провайдера, или в коде есть ошибка, с которой никто раньше не сталкивался.