На тело с полем qty = «abc» сервис отвечает 500 и стектрейсом: дефект или ожидаемое поведение
Вы отправляете запрос:
POST /api/v1/orders
Content-Type: application/json
{"product_id": 145, "qty": "abc"}
Ответ:
HTTP/1.1 500 Internal Server Error
{"error": "ValueError: invalid literal for int() with base 10: 'abc'"}
Как трактовать результат?
- Не дефект: тело запроса некорректное, поэтому любой код ошибки допустим, формат такого ответа не регламентирован
- Дефект только из-за стектрейса в теле ответа, сам код 500 на невалидном значении поля вполне нормален
- Не дефект бэкенда: нужно завести задачу на фронтенд, чтобы он не отправлял в поле qty нечисловые значения
- Дефект: на некорректное значение ожидается 400 с понятным описанием ошибки, а 500 со стектрейсом ещё и раскрывает внутренности сервиса
