В некоторых книгах, как API, остальные обычно возвращает объект ответа, который оборачивает некоторые другие объекты, представляющие полезную нагрузку, состояние и т.д.Что лучше: возврат объекта Response или объекта, представляющего ресурс остатка?
С другой стороны, многими из API, которые я видел и написал возвращающую POJO (или вызов это DTO) как JSON, который потребляется клиентом.
Это может быть мнение, основанное на мнениях, но я хотел бы знать, что лучше использовать их в среде с высокой масштабируемостью, где некоторые запросы приводят к успеху, а другие - к сбоям/данным, которые не возвращаются.
Я хотел бы знать, есть ли принятая более эффективная практика. Это поможет мне разработать некоторые API-интерфейсы и поставить вещи в перспективе перед моей командой. Но я в порядке с закрытием этого вопроса, если «лучше из двух» слишком много мнения.
Спасибо.
Обновление: Два API-интерфейса останова будут выглядеть следующим образом. Как избежать такой код @Path, @Get, @PathParam, @Produces и т.д.
public Response myCustomerObject(int id){...}
Это возвращает объект клиента, обернутый внутри объекта Response. Ответ также может быть ошибкой.
И подход ниже будет возвращать объект клиента непосредственно:
public Customer myCustomerObject(int id){...}
Не могли бы вы привести два примера? Таким образом, это должно быть легче понять. –
REST-API не имеют ничего общего с конкретной реализацией какой-либо структуры, которую вы используете, особенно если вы используете объект Response против POJO. POJO будет сопоставлен с желаемым форматом вывода, понятным клиенту (заголовок Accept), с помощью базовой структуры и возвращает код ответа по умолчанию (если это не указано в аннотации или исключение (обработчики) в противном случае). Объект Response задает код возврата, и объект возвращается явно, хотя маршаллинг также может выполняться автоматически. –
@AlbertoZaccagni добавит пример. – Atul