Home > Java > body text

Spring SseEmitter throws java.lang.IllegalArgumentException: No suitable converter class error when sending DTO object

王林
Release: 2024-02-09 21:21:08
forward
507 people have browsed it

When php editor Baicao uses Spring SseEmitter to send DTO objects, you may encounter java.lang.IllegalArgumentException: No suitable converter class error. This error usually occurs when the converter is not configured correctly, resulting in the inability to convert the DTO object into the correct data format. The way to solve this problem is to check whether the converter class is correctly configured in the configuration file and ensure that the converter class can correctly convert the DTO object into the corresponding data format.

Question content

In our spring-boot application we have the following simple ssesstatusdto dto:

@builder
@allargsconstructor
@noargsconstructor
public class ssestatusdto {

    private string currentphase;
    private int percentage;
    private string result;
}
Copy after login

For some reason I can't understand, spring cannot convert this dto to json when trying to send the information back to the client:

emitter.send(SseEmitter.event()
                    .data(SseStatusDto.builder()
                            .currentPhase("DONE")
                            .percentage(100)
                            .result("temp-result")
                            .build()), MediaType.APPLICATION_JSON);
Copy after login

I get java.lang.illegalargumentexception: No suitable converter for class <class>

What did I miss?

Solution

Try adding getters and setters for the sestatusdto model:

@Builder
@AllArgsConstructor
@NoArgsConstructo
@Getter
@Setter
public class SseStatusDto {

  private String currentPhase;
  private int percentage;
  private String result;
}
Copy after login

This should solve your problem.

The above is the detailed content of Spring SseEmitter throws java.lang.IllegalArgumentException: No suitable converter class error when sending DTO object. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template