L'éditeur php Baicao peut rencontrer java.lang.IllegalArgumentException : Aucune erreur de classe de convertisseur appropriée lors de l'utilisation de Spring SseEmitter pour envoyer des objets DTO. Cette erreur se produit généralement lorsque le convertisseur n'est pas configuré correctement, ce qui entraîne l'impossibilité de convertir l'objet DTO dans le format de données correct. La façon de résoudre ce problème consiste à vérifier si la classe de convertisseur est correctement configurée dans le fichier de configuration et à s'assurer que la classe de convertisseur peut convertir correctement l'objet DTO dans le format de données correspondant.
Dans notre application spring-boot, nous avons le simple ssestatusdto
dto suivant :
@builder @allargsconstructor @noargsconstructor public class ssestatusdto { private string currentphase; private int percentage; private string result; }
Pour une raison que je ne comprends pas, Spring ne peut pas convertir ce dto en json lorsqu'il essaie de renvoyer les informations au client :
emitter.send(SseEmitter.event() .data(SseStatusDto.builder() .currentPhase("DONE") .percentage(100) .result("temp-result") .build()), MediaType.APPLICATION_JSON);
J'ai reçu le convertisseur pour java.lang.illegalargumentexception:没有适合类 <class>
Qu'est-ce que j'ai raté ?
Essayez d'ajouter des getters et des setters au modèle ssestatusdto
:
@Builder @AllArgsConstructor @NoArgsConstructo @Getter @Setter public class SseStatusDto { private String currentPhase; private int percentage; private String result; }
Cela devrait résoudre votre problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!