Sobes.tech
Intern

La requête GET à /orders/123 a été correctement formulée, mais une telle commande n'existe pas dans la base de données. L'application fonctionne normalement. Quel code d'état doit être renvoyé ? 204 No Content 404 Not Found 410 Gone 403 Forbidden

sobes.tech IA

Réponse de l'IA

Правильный код состояния — 404 Not Found.

Объяснение:

  • Запрос корректен, но ресурс (заказ с id 123) не найден в базе.
  • 404 означает, что запрашиваемый ресурс отсутствует.

Другие варианты:

  • 204 No Content — означает, что запрос успешен, но тело ответа пустое; не подходит, если ресурс не существует.
  • 410 Gone — указывает, что ресурс был, но удалён навсегда; подходит, если известно, что заказ удалён.
  • 403 Forbidden — означает, что доступ запрещён; не подходит, если просто нет такого заказа.

Пример на Go (использование net/http):

func getOrderHandler(w http.ResponseWriter, r *http.Request) {
    orderID := "123" // пример
    order, err := findOrderByID(orderID)
    if err == ErrOrderNotFound {
        http.NotFound(w, r)
        return
    }
    // обработка найденного заказа
}