Maison > Java > le corps du texte

Spring SseEmitter renvoie java.lang.IllegalArgumentException : aucune erreur de classe de convertisseur appropriée lors de l'envoi d'un objet DTO

王林
Libérer: 2024-02-09 21:21:08
avant
505 Les gens l'ont consulté

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.

Contenu de la question

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;
}
Copier après la connexion

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);
Copier après la connexion

J'ai reçu le convertisseur pour java.lang.illegalargumentexception:没有适合类 <class>

Qu'est-ce que j'ai raté ?

Solution

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;
}
Copier après la connexion

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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal