Boa noite, eu estava lendo o material de apoio sobre DTO, que fala sobre o ataque Mass Assignment Attack e que o DTO é uma vantagem sobre este ataque, ai surguiu uma dúvida, seguindo o exemplo apresentado: Class controller:
@PostMapping
@Transactional
public void cadastrar(@RequestBody @Valid Usuario usuario) {
repository.save(usuario);
}
Entitidade de persistência:
@Getter @Setter @NoArgsConstructor @EqualsAndHashCode(of = "id") @Entity(name = "Usuario") @Table(name = "usuarios") public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String email;
private Boolean admin = false;
//restante do código omitido…
}
caso eu crie um DTO que não tenha a classe admin, evitando assim que ela seja modificada por uma requisição qualquer, como eu poderia alterar o status de admin futuramente? Seria chamando algum método só para alterar este status ou teria uma outra abordagem?