Настройка постобработчика#
Постобработчик postprocessor_error предназначен для формирования сообщения об ошибке для клиента по указанному шаблону (см. параметр pattern_file) и по заданным правилам (см. параметр rules_file).
postprocessor_error - параметры#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Опциональный |
Последовательность кодов ошибок, на основании которых будут сгенерированы сообщения для клиента |
Последовательность целочисленных значений |
— |
|
Обязательный (если |
Файл шаблона, который будет использован в качестве тела ответа. При добавлении нового профиля данные шаблоны «подтягиваются» в профиль и находятся в директории: /sowa/[имя профиля]/common/error-templates |
|
— |
|
Обязательный (если |
Путь к файлу шаблона (относительно директории с custom ресурсами), который будет использован в качестве тела ответа |
Строковое значение |
— |
|
Опциональный |
Файл с правилами, описывающий, как заполнять файл шаблона. Подробнее в разделе «Создание файла с правилами» |
Строковое значение |
|
|
Опциональный |
Тип содержимого для заголовка ответа |
Строковое значение |
— |
|
Опциональный |
При включении изменяет поведение постпроцессора — позволяет изменять заголовки grpc-message и grpc-status вместо тела ответа и кода ответа соответственно |
|
|
|
Опциональный |
Регулярное выражение для статусов ответов, по которым не будет использовано преобразование ответов от backend. Директива применима и работает только совместно с валидаторами validator_json и validator_xsd |
Строковое значение |
— |
|
Опциональный |
Необходимо ли обрабатывать ошибки от upstream. Если |
|
|
|
Опциональный |
Список статусов, ограничивающий директиву handle_upstream_errors. Используется, если |
Последовательность целочисленных значений |
— |
|
Обязательный (если |
Параметры перенаправления |
Параметры, описанные в разделе «postprocessor_error - redirect» |
— |
postprocessor_error - redirect#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Обязательный |
Статус код перенаправления |
|
— |
|
Обязательный |
URL перенаправления, который будет проставлен в заголовке ответа location |
Текстовое значение |
— |
Пример использования параметра postprocessor_error:
postprocessors:
postprocessor_error:
code:
- 403
- 404
- 500
- 502
pattern_file: errors_schema_v_1.0.json
rules_file: rules.yml
content_type: application/json;charset=UTF-8
Формируемое сообщение об ошибке представляет собой структурированный файл любого формата (JSON, XML, etc.) с заранее заданными подсказками. Значения подсказок заполняются на основании заданных правил.
Например:
{
"errorCode" : {errorCode},
"errorMessage": {errorMessage}
}
Подсказки, заключенные в фигурные скобки: {errorCode} и {errorMessage}, описываются в файле rules.yml (см. раздел Создание файла c правилами).