Как выполнить сериализацию условий, используя Джексона, основываясь на правах доступа пользователя к объекту? - PullRequest
0 голосов
/ 17 июня 2019

Рассмотрим API-интерфейс Spring MVC, в котором контроллер имеет 2 конечные точки. Первая конечная точка возвращает сотрудника, а второй отдел.

Ради простоты сущности выглядят так:

public class Employee {
    private String firstName;
    private String lastName;
    private Double Salary;
}

и

public class Department {
    private String name;
    private String suiteNumber;
    private Employee manager;
}

Предположим, что для каждого запроса к любой из 2-х точек у нас есть компонент типа RequestData (в области запроса), который имеет поле

Map<String, List<String>> userPermissions;

Примером разрешений пользователя (представленных в JSON) будет:

{
    "Employee": [ "firstName", "lastName" ],
    "Department": [ "name", "suiteNumber" ]
}

Этот конкретный пользователь не имеет доступа к зарплате сотрудника и руководителю отдела. Другой пользователь может иметь совершенно другой набор разрешений.

Как мой сопоставитель объектов может получить доступ к объекту RequestData запроса и исключить поля, к которым пользователь не имеет доступа, когда происходит сериализация?

Заранее спасибо, Bruno

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...