考虑以下对象:
class User {
Long userId
String emailAddress;
boolean isLocked;
}
如果我为资源实现一个端点User
,如下所示:
@Controller
public class UserController {
@RequestMapping(value="/user/{userId}",method=RequestMethod.PUT)
public void updateUser(@PathVariable("userId") Long userId, User updatedUser)
{
User dbUser = userRepository.find(userId)
// map updatedUser to dbUser
userRepository.save(dbUser);
}
}
当前是否有公开/user/{userId}
端点的标准方法,但根据用户权限限制特定字段的更新?
例如,我可能希望将isLocked
属性的更新限制为使用 的用户ROLE_ADMIN
,同时仍然允许用户更新他们的电子邮件地址。
注意 - 这个问题并不完全属于 Spring HATEOS - 我对这个问题的任何 Spring 标准解决方案感兴趣。