Поэтому мне интересно, как лучше всего обработать запрос на редактирование на основе роли пользователя.
Скажем, у меня есть следующее PostMapping:
@PostMapping(value = "/edit")
public ResponseEntity<String> editIoc(@RequestBody GeneralPojoAllFields editRequest)
GeneralPojoAllFields выглядит следующим образом:
public class GeneralPojoAllFields {
private String firstName;
private String lastName;
private String onlyAdminCanEditField;
}
Это pojo, которое администратор сможет использовать, и в конечном итоге оно будет сопоставлено с классом сущностей для сохранения в базе данных. Тем не менее, если у нас есть обычный пользователь, который хочет редактировать его и гипотетически он не ограничен в пользовательском интерфейсе, этот дизайн будет работать? В настоящее время я думаю, что у меня есть пользователь pojo, например, так:
public class UserPojo {
private String firstName;
private String lastName;
}
После отображения запроса мы проверяем, является ли пользователь обычным пользователем или администратором. Если это обычный пользователь, мы просто сопоставляем GeneralPojoAllFields с UserPojo, и он не будет отображаться на onlyAdminCanEditField, и продолжаем оттуда.
Есть ли лучший способ сделать это?