J'essaie de consommer une API en utilisant Retrofit et Jackson pour désérialiser. J'obtiens l'erreur onFailure No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator
.
Réponses
Trop de publicités?En ajoutant @NoArgsConstructor
cela va régler le problème. Parce que le compilateur ajoutera le constructeur par défaut si nous n'avons pas fourni de constructeur, mais si nous avons ajouté un constructeur paramétré et que nous avons omis d'ajouter le paramètre NoArgsConstructor
nous obtiendrons cette exception. Nous devons obligatoirement ajouter le Constructeur par défaut.
Je veux juste souligner que cette réponse fournit une meilleure explication.
En gros, vous pouvez soit avoir @Getter
y @NoArgConstructor
ensemble
ou laisser Lombok se régénérer @ConstructorProperties
en utilisant lombok.config
fichier,
ou compilez votre projet java avec -parameters
drapeaux,
ou laisser Jackson utiliser le site de Lombok @Builder
2 votes
Il semble que vous n'utilisiez pas le module Jackson pour Kotlin, qui fonctionne avec les classes de données qui n'ont pas de constructeur par défaut, ce qui n'est pas le cas de la vôtre. Vérifiez ce module et voyez si vous avez des problèmes par la suite.
0 votes
Veuillez modifier la réponse acceptée.