Я пытаюсь проверить, существует ли какой-либо RFC вокруг стандартов реагирования на ошибки REST API?
REST - это архитектурный стиль, определенный Филдингом в главе 5 его диссертации, и в нем ничего не говорится о формате ответа на ошибки.
Я предполагаю, что вы выполняете REST через HTTP, поэтому я советую вам выбрать наиболее подходящий код состояния для каждой ситуации. Коды состояния предназначены для указания результата попытки сервера понять и удовлетворить запрос клиента.
Коды состояния иногда недостаточны для передачи достаточной информации об ошибке, чтобы быть полезными, и некоторые детали, отправленные в полезной нагрузке, могут помочь клиенту понять, что вызвало ошибку.
Если вы ищете стандарт IETF для сообщения об ошибках, то, скорее всего, вы найдете RFC 7807 . В этой спецификации определяются простые форматы документов JSON и XML для сообщения клиенту об ошибках, а также типы носителей application/problem+json
и application/problem+xml
.
Существует ли угроза безопасности, если служба возвращает ответ об ошибке с подробными сведениями о том, что JSON недействителен?
Когда это ошибка клиента, имеет смысл сообщить клиенту о том, что не так, чтобы он мог исправить это и выполнить новый запрос. Однако не следует пропускать трассировку стека или внутренние детали, которые могут быть использованы злоумышленником.