用于对 Web 服务的请求和响应对象进行建模的设计模式
我有大约7个REST Web服务要实现。其中一些Web服务具有标准(相同)响应,而有些则具有不同的响应。
对这些 Web 服务的请求是不同的,但某些请求和某些响应具有相同的基础数据对象。
我不确定我是否必须为每个Web服务构建单独的请求/响应类或重用标准类。我想知道是否有设计模式来对这些Web服务的请求对象和响应对象进行建模。
好吧,假设帐户和书籍是我的Web服务将要处理的两个休息资源。
class Account {
String username;
String id;
}
class Book {
String title;
String isbn;
}
所以我的Web服务看起来像这样:
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;
}
而 Web 服务的响应是:getInfo
class GetInfoResponse {
Account account;
List<Book> books;
String statusCode;
String description;
}
因此,请求类和响应类之间存在重叠。我可以为每个 Web 服务创建两个 (req/res) 类。但想知道是否有更好的方法来对这些类进行建模。