Intern
GET zahtev za /orders/123 je pravilno formiran, ali takva narudžbina ne postoji u bazi. Aplikacija radi normalno. Koji kod statusa treba da se vrati? 204 No Content 404 Not Found 410 Gone 403 Forbidden
sobes.tech АИ
Одговор од АИ
Правильный код состояния — 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
}
// обработка найденного заказа
}