Jackson ready only collections

Tengo el proyecto Spring Boot con un punto final para una entidad como esta:

class Task{ @JoinTable(name = "task_user", joinColumns = arrayOf(JoinColumn(name = "task_id")), inverseJoinColumns = arrayOf(JoinColumn(name = "user_id"))) @ManyToMany var users: MutableSet<User> = HashSet() } 

No quiero que las personas puedan publicar usuarios con la tarea, pero @JsonProperty (access = READ_ONLY) no parece funcionar en las collections, así que si proporciono los identificadores que existen, se adjuntan a la tarea de todos modos, no Alguien tiene alguna idea de si esto se puede hacer para las collections de una manera similar (sé que se puede hacer usando deserializadores personalizados)?

Para ignorar algunos campos en la deserialization, debe usar JsonIgnoreProperties con allowGetters=true . Con esto, los users campo serán poblados en la serialization pero ignorados en la deserialization.

 @JsonIgnoreProperties(value = "users", allowGetters=true) class Task { @ManyToMany var users: MutableSet<User> = HashSet() } 

Puede encontrar más información en: https://fasterxml.github.io/jackson-annotations/javadoc/2.6/com/fasterxml/jackson/annotation/JsonIgnoreProperties.html#allowGetters ()

  • Seguridad de spring. Página de inicio de session multilenguaje basada en url
  • BadCnetworkingentialsException: no se pudo get el token de acceso con la security de arranque de resorte Oauth2 en GAE
  • Configure Jackson para usar SNAKE_CASE "globalmente" en Spring Boot 2.0.0.M1
  • Kotlin + Spring Boot solicita sorting
  • Spring Boot Application: File System Watcher para muchas routes
  • Kotlin + SpringBoot 2.0.0-M4 falló en el context de la aplicación de carga (BeanCreationException)
  • Spring Boot e Hibernate. Manejar la fábrica de sesiones
  • Enfoque correcto para la class de Kotlin inyectada de constructor inmutable
  • Clase de datos de SpringBoot + Jackson + Kotlin: annotations de campo ignoradas
  • Servicio Spring RESET de arranque: la deserialization de JSON no funciona
  • Spring Boot: Agregar @Transactional produce java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder $ PartialComparable