Почему ошибка HTTP 501 типа JSON отображается в пользовательском интерфейсе как text/html вместо application/json?

  • Автор темы centrovoy
  • 27
  • Обновлено
  • 12, May 2024
  • #1
У меня есть интерфейс Angular, работающий на Apache, с серверным API Spring REST на Tomcat.

И Tomcat, и Apache работают под управлением балансировщиков нагрузки, работающих в AWS.



Я хотел выдать ошибку 501 в каком-то случае ошибки и хотел, чтобы этот ответ был представлен как JSON для пользовательского интерфейса (тип контента как «application/json»). Это отлично работает в моей локальной среде, как и ожидалось, поскольку Angular может интерпретировать ответ JSON, но когда дело доходит до какой-то общей среды контроля качества, это терпит неудачу, потому что ошибка 501 отображается в пользовательском интерфейсе как текст/html, который Angular не может переварить.

Разница между моим локальным и QA в том, что Angular работает на узле, тогда как QA использует Apache.

Является ли Apache, который преобразует ответ JSON с http-кодом 501 в тип html? У меня в httpd.conf настроен ErrorDocument только 500 и 400 ошибок, но Apache по-прежнему перехватывает 501 ошибку и выбрасывает собственный контент в формате html.

ответ, который я получаю в своем браузере, приведен ниже.

Не реализовано

GET в /test/customer/getCustomer не поддерживается.

centrovoy


Рег
01 Jan, 2011

Тем
1

Постов
1

Баллов
11
Тем
49554
Комментарии
57426
Опыт
552966

Интересно