Рассмотрим следующий объект:
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 для этой проблемы.