Замокать ошибку problem+json по RFC 9457
GET-мок, который отдаёт 422 application/problem+json с ошибкой валидации в формате RFC 9457.
Заменяет собой эндпоинт стороннего API.
Тело ответа
{
"type": "https://quickmock.dev/problems/validation-error",
"title": "Your request parameters didn't validate",
"status": 422,
"detail": "The 'email' field must be a valid email address.",
"instance": "/m/YOUR-SLUG/requests/38f0",
"errors": [
{
"field": "email",
"message": "must be a valid email address"
}
]
}
Поля, на которые стоит обратить внимание
| Поле | Что означает |
|---|---|
| type | URI, идентифицирующий тип проблемы — это адрес документации, а не обязательно рабочая ссылка. |
| title | Короткое человекочитаемое описание проблемы. |
| status | Дублирует статус HTTP-ответа в теле — для клиентов, которые логируют его отдельно. |
| detail | Конкретное объяснение для этого случая; поправьте под сбой, который вы тестируете. |
| errors | Нестандартное расширение с ошибками по полям — такое часто добавляют API в духе GitHub или Stripe. |
Создать мок
curl -X POST https://quickmock.dev/api/mocks \
-H 'Content-Type: application/json' \
-d '{
"method": "GET",
"response_status": 422,
"content_type": "application/problem+json",
"response_body": "{\"type\":\"https://quickmock.dev/problems/validation-error\",\"title\":\"Your request parameters didn't validate\",\"status\":422,\"detail\":\"The 'email' field must be a valid email address.\",\"instance\":\"/m/YOUR-SLUG/requests/38f0\",\"errors\":[{\"field\":\"email\",\"message\":\"must be a valid email address\"}]}"
}'
Вызвать
curl https://quickmock.dev/m/<slug>
Что вы получите
GET /m/<slug> -> 422 application/problem+json
an RFC 9457 problem document with a custom errors[] extension
Чем это отличается от настоящего
Это одна фиксированная ошибка валидации — status, detail и расширение errors[] захардкожены; поправьте тело ответа, чтобы воспроизвести именно тот сбой, который должен обработать ваш клиент, а не общий 422.
Готовы попробовать?
Хорошо сочетается с гайдом: Замокать конкретную ошибку