У меня есть около 7 веб-сервисов REST для реализации. Некоторые из этих веб-служб имеют стандартный (идентичный) ответ, в то время как некоторые из них имеют разные ответы.
Запросы для этих веб-служб различны, но некоторые запросы и некоторые ответы имеют одни и те же базовые объекты данных.
Я не уверен, должен ли я создавать отдельные классы запроса/ответа для каждого веб-сервиса или повторно использовать стандартный. Я хотел бы знать, есть ли шаблон проектирования для моделирования объектов запроса и объектов ответа для этих веб-служб.
Хорошо, скажем, Account and Book - это два ресурса для отдыха, на которые будут работать мои веб-службы.
class Account {
String username;
String id;
}
class Book {
String title;
String isbn;
}
Итак, мои веб-службы выглядят так:
MYAPI/CreateAccountandBook
MYAPI/Account/Create
MYAPI/Book/Create
MYAPI/Book/Update/{isbn}
MYAPI/Account/Update/{id}
MYAPI/Account/getInfo/{id}
и т.д.
Теперь запрос CreateAccountandBook
будет принимать объект учетной записи и список книг в полезной нагрузке.
Также объект ответа для MYAPI/Account/getInfo/{id}
имеет объект учетной записи и список книг, связанных с этой учетной записью. Но объект ответа также включает statusCode
и Description
.
Теперь я хотел бы создать классы для этих объектов запроса и ответа наилучшим образом.
Хорошо для начала.
У меня есть два абстрактных класса StandardRequest
и StandardResponse
.
Все классы запросов расширяют класс стандартного запроса и соответственно настраивают. Все классы ответов будут расширять стандартный класс ответа и соответственно настраивать.
Но эти запросы и ответ могут отличаться друг от друга, но все же повторно использовать одни и те же объекты объектов.
Например:
CreateAccountandBook
объект запроса выглядит следующим образом:
class CreateAccountAndBookRequest {
Account account;
List<Book> books;
}
а ответ для веб-службы getInfo
:
class GetInfoResponse {
Account account;
List<Book> books;
String statusCode;
String description;
}
поэтому существует перекрытие между классами запросов и ответов. Я могу создать два класса (req/res) для каждого веб-сервиса. Но хотелось бы знать, есть ли лучший способ моделирования этих классов.