实现 API 方法和用户界面解耦的行之有效的策略是什么?
我正在为该应用程序创建 REST API 服务。我注意到我的 API 方法与用户界面紧密耦合。
假设我的应用程序中有这个简单的实体
public class User{
private String username;
private List<String> roles;
private Set<String> permissions;
}
现在让我们看一下用户界面。
用户界面中有两个页面,其中一个页面允许管理员通过指定用户名和角色来创建用户。另一个页面允许管理员颁发权限。
这意味着我必须创建两个 API 方法,一个用于创建用户并分配角色。还有一个用于颁发权限。
public class UserService{
public User createUser(User user){
// save user to db
// assign roles;
}
public User assignPermissions(Integer userId, List<String> permissions){
// find user from db
// assign permissions
}
}
为什么我要严格遵循 UI?在我看来,创建三种 API 方法更符合逻辑,一种用于创建用户,另一种用于分配角色,最后一种用于颁发许可证。
那么,如何才能实现这种解耦呢?