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 ()

  • Spring Boot with AsyncRestTemplate Netty Client falla
  • Spring Boot @ Autoajustado con Kotlin en @Service siempre es nulo
  • Spring Boot: Agregar @Transactional produce java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder $ PartialComparable
  • Seguridad de spring. Página de inicio de session multilenguaje basada en url
  • No puedo excluir MongoAutoConfiguration en Springboot-Kotlin (MongoSocketOpenException)
  • Usando una constante de Java en un parámetro de anotación de Kotlin
  • Kotlin + SpringBoot 2.0.0-M4 falló en el context de la aplicación de carga (BeanCreationException)
  • Spring Boot: no puede include recurso estático
  • Kotlin + Spring Boot solicita sorting
  • Referencia no resuelta: SpringExtension utilizando @ExtendWith anotación
  • Enfoque correcto para la class de Kotlin inyectada de constructor inmutable