Код состояния, который вы возвращаете для конечной точки в ServiceA
, должен иметь смысл для вызывающей стороны. Ваша бизнес-логика c должна указывать, какой код статуса должен быть возвращен для последующей ошибки. Может иметь смысл возвращать код нисходящего сервиса, но не всегда.
Рассмотрим случай, когда вы реализуете конечную точку getUserDetails
, которая вызывает getUser
из UserService
и getRatings
из RatingService
.
- Если
getUser
возвращает NotFound , имеет смысл также вернуть NotFound вызывающей стороне, поскольку пользователь не существует. - Если
getRatings
возвращает NotFound , вы можете вернуть Внутреннюю ошибку, поскольку у вас недостаточно информации для возврата полного ответа. В этом случае, если вы вернете NotFound , клиент может предположить, что пользователь не был найден, что не так.