Annotation Interface CustomDeserialization
@Experimental("Remains to be determined if this is the best possible API for users to configure per Resource Method Deserialization")
@Retention(RUNTIME)
@Target({METHOD,TYPE})
public @interface CustomDeserialization
Annotation that can be used on RESTEasy Reactive Resource method to allow users to configure Jackson deserialization
for that method only, without affecting the global Jackson configuration.
-
Required Element Summary
Required ElementsModifier and TypeRequired ElementDescriptionClass<? extends BiFunction<com.fasterxml.jackson.databind.ObjectMapper,Type, com.fasterxml.jackson.databind.ObjectReader>> ABiFunctionthat converts the globalObjectMapperand type for which a customObjectReaderis needed (this type will be a generic type if the method returns such a generic type) and returns the instance of the customObjectReader.
-
Element Details
-
value
Class<? extends BiFunction<com.fasterxml.jackson.databind.ObjectMapper,Type, valuecom.fasterxml.jackson.databind.ObjectReader>> ABiFunctionthat converts the globalObjectMapperand type for which a customObjectReaderis needed (this type will be a generic type if the method returns such a generic type) and returns the instance of the customObjectReader.Quarkus will construct one instance of this
BiFunctionfor each JAX-RS resource method that is annotated withCustomDeserializationand once an instance is created it will be cached for subsequent usage by that resource method.The
BiFunctionMUST contain a no-args constructor.Furthermore, it is advisable that it contains no state that is updated outside its constructor.
Finally and most importantly, the
ObjectMappershould NEVER be changed any way as it is the global ObjectMapper that is accessible to the entire Quarkus application.
-