Почему Angular обрабатывает 304 как ошибки? - PullRequest
0 голосов
/ 19 сентября 2019

Я пишу приложение Angular 8 / JAX-RS 2.0 в качестве учебного упражнения.Я пытаюсь использовать несколько методов кэширования, о которых я читал в RESTful Java с JAX-RS 2.0 Биллом Бёрком.Один из них включает в себя отправку заголовка ETag в GET-запросе из приложения Angular.Метод JAX-RS оценит значение Etag и вернет 304 с пустым телом, если данные не изменились, в противном случае он вернет 200 с запрашиваемыми данными.Эта часть отлично работает.Я хотел проверить код состояния 304 в моем компоненте Angular.Однако Angular обрабатывает это как ошибку:

Ошибка Angular 304

В соответствии с этой проблемой GitHub это правильное поведение.Фактически, это говорит о том, что все коды, отличные от 2xx, рассматриваются как ошибки.Но это кажется несовместимым со стандартами W3, где говорится о кодах состояния 3xx: «Этот класс кода статуса указывает, что пользовательский агент должен предпринять дальнейшие действия для выполнения запроса».Сдается мне, что только коды состояния 4xx и 5xx должны рассматриваться как ошибки.

Я полагаю, что обходной путь должен был бы перехватить ошибку и проверить код состояния 304, но кто-нибудь знает, почему Angular рассматривает коды состояния 3xx как ошибки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...