Это может быть реализовано через Джексонсона.Джексон является одним из лучших провайдеров / анализаторов JSON и может использоваться с реализацией Jersey in Rest. Службы REST будут генерировать и потреблять JSON, а сериализация и десериализация JSON происходит автоматически за кулисами
Класс Create Viewкак:
public class View {
public static class Editable {}
public static class Viewable extends Editable {}
public static class Internal extends Viewable {}
}
Создать класс модели как:
@JsonIgnoreProperties(ignoreUnknown = true)
@XmlRootElement(name = "activateService")
public class ActivateService implements Serializable {
@JsonView(View.Editable.class)
public String mWalletToken;
@JsonView(View.Editable.class)
public String topMerchantEMPID;
@JsonView(View.Editable.class)
public String serviceCategory;
}
и метод веб-службы Rest-full:
@POST
@Path("/TimRestService")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public Response crunchifyREST(@JsonView(View.Editable.class) final ActivateService model, @Context HttpServletRequest request) {
В JAX-RS, если онМодель (запрос или ответ) аннотируется с помощью @JsonView (View.Editable.class), в нашем случае метод добавления Джексон будет только сериализовать или десериализовать поля, аннотированные с помощью @JsonView (View.Editable.class).В нашем случае клиент может передать только editableField, если клиент пропустит какие-либо другие поля, сервер просто молча проигнорирует их.
Используйте приведенные ниже зависимости в pom.xml
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-
databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-json -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.19.4</version>
</dependency>
Источник: - https://www.owasp.org/index.php/Mass_Assignment_Cheat_Sheet и http://lifelongprogrammer.blogspot.com/2015/09/using-jackson-view-to-protect-mass-assignment.html