REST API
Учебный проект 11 из 12: JSON-контракты, HTTP-коды, валидация, idempotency и журналирование.
REST APIПостановка
JSON-контракты, HTTP-коды, валидация, idempotency и журналирование.
Архитектура
Router выбирает endpoint, RequestDTO валидирует JSON, use case возвращает предметный result, Responder сопоставляет его с HTTP‑кодом и JSON‑контрактом.
Этапы
Создайте health и чтение ресурса, затем POST с 201/Location, problem details, idempotency key, пагинацию и версионирование контракта.
Безопасность
Ограничьте Content‑Type и тело, проверяйте auth до предметной операции, не доверяйте forwarded headers и не возвращайте stack trace в JSON.
Чек-лист
Проверьте malformed JSON, 401/403, 404, 409, 422, повтор idempotent POST, лимит выдачи и стабильные имена полей.
Закрепите материал
Отметка, заметка, чек-лист и ответы остаются в localStorage этого браузера и не отправляются в аналитику.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.