Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="api-error-details"></a>

# Problem Details

## Коротко

Ошибка должна помогать исправить запрос без раскрытия внутреннего устройства сервера.

## Плохо

```json
{"error":"SQL exception at /private/app/main.go:42"}
```

## Хорошо

```json
{"type":"https://example.com/problems/validation",
 "title":"Проверьте поля", "status":422,
 "errors":[{"field":"email","message":"Неверный формат"}]}
```

## Почему

Стек вызовов и SQL не помогают пользователю и могут раскрыть лишние сведения.

## Когда применять

Problem Details задаёт общую основу; errors и request_id — документируемые расширения, а не обязательные поля RFC.

## Как проверить

- Можно ли понять ошибку? Нет ли секретов и внутренних путей?

## Человек

Определяет понятные пользователю коды ошибок и допустимые детали ответа.

## Агент

Реализует серверный контракт и проверяет успешный запрос, неверный ввод и повторное обращение.

Контроль результата:

- Можно ли понять ошибку? Нет ли секретов и внутренних путей?

## Источники

- [RFC 9457: Problem Details for HTTP APIs](https://www.rfc-editor.org/rfc/rfc9457.html)

Уровень: Рекомендуется. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/api/openapi-modular/rules/error-details.md)
