Sobes.tech
Intern

/orders/123-ə GET sorğusu düzgün yaradılıb, lakin verilənlər bazasında belə bir sifariş yoxdur. Tətbiq normal işləyir. Hansı status kodu qaytarılmalıdır? 204 No Content 404 Not Found 410 Gone 403 Forbidden

sobes.tech Süni İntellekt

AI-dan cavab

Правильный код состояния — 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
    }
    // обработка найденного заказа
}