Parametre adlarına normalde çalışma zamanında Java kodu tarafından erişilemez (çünkü derleyici tarafından bırakılır), bu nedenle bu işlevselliği istiyorsanız ya Java 8'in yerleşik işlevlerini kullanmanız ya da erişim elde etmek için ParaNamer gibi bir kitaplık kullanmanız gerekir. ona.
Bu nedenle, Jackson'ı kullanırken yapıcı argümanları için ek açıklamalar kullanmak zorunda kalmamak için, bu 2 Jackson modülünden birini kullanabilirsiniz:
jackson-module-parametre-adları
Bu modül, Java 8 kullanırken açıklama içermeyen yapıcı argümanları almanızı sağlar . Kullanmak için önce modülü kaydetmeniz gerekir:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new ParameterNamesModule());
Ardından kodunuzu -parameters bayrağını kullanarak derleyin:
javac -parameters ...
Bağlantı: https://github.com/FasterXML/jackson-modules-java8/tree/master/parameter-names
Jackson modülü paranamer
Diğeri, sadece modülü kaydetmenizi veya bir açıklama iç gözlemi yapılandırmanızı gerektirir (ancak her ikisi de yorumlarda belirtildiği gibi değil). 1.8'den önceki Java sürümlerinde açıklamasız yapıcı argümanları kullanmanıza izin verir .
ObjectMapper mapper = new ObjectMapper();
// either via module
mapper.registerModule(new ParanamerModule());
// or by directly assigning annotation introspector (but not both!)
mapper.setAnnotationIntrospector(new ParanamerOnJacksonAnnotationIntrospector());
Bağlantı: https://github.com/FasterXML/jackson-modules-base/tree/master/paranamer