Скажем, у нас есть API отдыха, который объединяет данные о Человеке из других сервисов. Один из сервисных маршрутов Агрегатора - GET /person/(person id)/driverinfo
, который сообщает нам, является ли человек лицензированным водителем или нет, идентификатор лицензии, срок действия лицензии и количество нарушений правил дорожного движения. Эти данные могут быть получены Агрегатором из одной или нескольких других служб. Этот API-интерфейс будет использоваться веб-страницей для отображения «информации о водителе» о человеке. Он также будет проверен с помощью автоматизации.
В настоящее время API не дает 204 никакого ответа на контент для лиц, которые никогда не имели водительских прав. Это потому, что один из лежащих в основе apis дает 204 для этого сценария. Итак, было решено, что Агрегатор должен сделать то же самое.
Но я считаю, что это не очень хороший ответ. Вместо этого мы должны вернуть 200 с соответствующими значениями для полей. Например, licensed = false, licenseId = N.A. и т. Д., Когда базовый API дает 204. Т.е. Агрегатор должен генерировать эти поля и их значения.
Какой подход, по вашему мнению, лучше и почему?