Normalmente, el código Java no puede acceder a los nombres de los parámetros en tiempo de ejecución (porque el compilador los deja caer), por lo que si desea esa funcionalidad, debe usar la funcionalidad incorporada de Java 8 o usar una biblioteca como ParaNamer para obtener acceso lo.
Entonces, para no tener que utilizar anotaciones para los argumentos del constructor al usar Jackson, puede hacer uso de cualquiera de estos 2 módulos de Jackson:
nombres-de-parámetros-módulo-jackson
Este módulo le permite obtener argumentos de constructor sin anotaciones cuando usa Java 8 . Para utilizarlo, primero debe registrar el módulo:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new ParameterNamesModule());
Luego compila tu código usando la marca -parameters:
javac -parameters ...
Enlace: https://github.com/FasterXML/jackson-modules-java8/tree/master/parameter-names
jackson-module-paranamer
Este otro simplemente requiere que registre el módulo o configure una introspección de anotación (pero no ambos como lo señalan los comentarios). Le permite utilizar argumentos de constructor sin anotaciones en versiones de Java anteriores a la 1.8 .
ObjectMapper mapper = new ObjectMapper();
// either via module
mapper.registerModule(new ParanamerModule());
// or by directly assigning annotation introspector (but not both!)
mapper.setAnnotationIntrospector(new ParanamerOnJacksonAnnotationIntrospector());
Enlace: https://github.com/FasterXML/jackson-modules-base/tree/master/paranamer