Как глобально обрабатывать ошибки HTTP в Grails (коды состояния 4xx/5xx)?

Есть ли способ в Grails перехватить все возможные ошибки HTTP перед их отправкой в ​​браузер клиента, чтобы иметь возможность обрабатывать контент, отправляемый клиенту? Я имею в виду все коды состояния HTTP 4xx и 5xx, а не только 403, 404 и 500, как другие предложили.

То, что я хотел бы сделать, это перехватить все ошибки HTTP, во-первых, без необходимости указывать их все по одному, затем на втором шаге я бы отфильтровал (например, в контроллере ошибок) конкретные коды ошибок, которые мне бы хотелось обрабатывать (например, 400), но, по крайней мере, те, которые я не буду указывать, будут отображаться в общий шаблон ошибки, который я определил.

Если это не может быть сделано (или не должно быть сделано), какие коды ошибок HTTP должны действительно проверяться и обрабатываться? Я, по крайней мере, могу видеть, что эти коды происходят в какой-то момент: 400, 401, 403, 404, 405, 500, 501, 503. А также, как они должны обрабатываться, используя сопоставления кодов ответов HTTP?

Спасибо!

1 ответ

На самом деле не пробовал, но, возможно, сработает ограничение числа?

"$errorCode" {
     controller = "errors"
     action = "displayError"
     constraints {
          errorCode(matches:/\d{3}/)
     }
}
Другие вопросы по тегам