我有一个带有演示文稿,业务逻辑,数据访问逻辑层的Spring Boot Web应用程序。描述外部接口调用(REST,WS)在数据访问层中是否在概念上是正确的?即也是数据库访问所在的位置。从概念上讲,这对我来说很有意义。
此外,是否应将与外部服务的交互称为DAO或“客户”?我想,例如Spring Boot教程将RestTemplates称为REST“客户端”,因此有一种可能性是使用DAO,然后使用RestTemplate“客户端”实际进行REST调用。这有意义吗?
答案 0 :(得分:2)
描述外部接口调用在概念上是否正确(REST, WS)位于数据访问层
数据访问对象用于抽象和封装对数据源的访问。数据源可以是持久存储,外部服务,存储库等。
一种可能性是拥有DAO,然后使用RestTemplate“客户端”实际进行REST调用
DAO实现了使用数据源所需的访问机制。 DAO有责任为应用程序提供抽象API,但实现可以是任何。使用RestTemplate
在DAO中进行REST调用完全没问题。
文章“Core J2EE Patterns - Data Access Object”可能对阅读有用