【发布时间】:2020-08-04 22:43:22
【问题描述】:
我知道将对象传递给服务方法可能会更好,但是如果调用者在调用服务之前必须首先查找对象,情况仍然如此吗?如果是这样,为什么?
示例
假设我有一个 RoleService,它为给定的用户添加一个角色。假设 RoleService 是通过 Web 控制器或可能的 REST API 调用的。 Web 控制器将 userId 和 roleId 作为 Web 请求的输入。
使用这种服务方式会更好吗?
public void addRoleToUser(long userId, long roleId) {
User user = userRepository.find(userId);
Role role = userRepository.find(roleId);
user.addRole(role);
}
还是这个?在这种情况下,Web 控制器显然需要在调用服务之前检索这两个对象。
public void addRoleToUser(User user, Role role) {
user.addRole(role);
userRepository.save(user);
}
【问题讨论】:
标签: java spring rest web-services architecture