Sobes.tech
Назад к вопросам
Middle
3

Задача REST API: создание заказа в книжном магазине — метод, тело запроса, ответ, идемпотентность.

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Для создания заказа в книжном магазине через REST API обычно используется метод POST, так как создаётся новый ресурс — заказ.

Тело запроса содержит данные заказа, например:

{
  "customerId": "12345",
  "items": [
    {"bookId": "987", "quantity": 2},
    {"bookId": "654", "quantity": 1}
  ],
  "paymentMethod": "credit_card",
  "shippingAddress": "ул. Ленина, 10"
}

Ответ при успешном создании обычно содержит статус 201 Created и тело с информацией о созданном заказе, включая уникальный идентификатор:

{
  "orderId": "abc123",
  "status": "created",
  "createdAt": "2024-06-01T12:00:00Z"
}

Идемпотентность: POST-запросы по умолчанию не идемпотентны, т.е. повторный вызов создаст новый заказ. Чтобы обеспечить идемпотентность, можно использовать уникальный идентификатор клиента (например, Idempotency-Key в заголовках), который сервер проверит и не создаст дубликат заказа при повторном запросе с тем же ключом.