Обработка ошибок

В случае возникновения ошибки сервис вернёт её в формате:

{
  "code": "",
  "hint": "",
  "message": "",
  "details": ""
}

Сервис предоставляет возможность обрабатывать пользовательские ошибки вызванные оператором raise

{
  "code": "SRV01",
  "hint": "Try GET method",
  "message": "This is postgresql error",
  "details": "This is detail"
}

При этом транзакция будет завершена и откачена с помощью оператора ROLLBACK.

Если необходимо передать пользовательскую ошибку в сервис, при этом сохранить результаты выполнения функции, можно использовать установку статуса ответа через GUC

perform set_config('response.status','405',true);
perform set_config('response.headers','[{"Content-Type":"application/json"}]',true);
return json_build_object('message','Only GET method is allowed');