php小编百草在使用Spring SseEmitter发送DTO对象时,可能会遇到java.lang.IllegalArgumentException: No合适的转换器类错误。这个错误通常发生在没有正确配置转换器的情况下,导致无法将DTO对象转换为正确的数据格式。解决这个问题的方法是检查配置文件中是否正确配置了转换器类,并确保转换器类能够正确地将DTO对象转换为相应的数据格式。
在我们的 spring-boot 应用程序中,我们有以下简单的 ssestatusdto
dto:
@builder @allargsconstructor @noargsconstructor public class ssestatusdto { private string currentphase; private int percentage; private string result; }
出于某种我无法理解的原因,spring 在尝试将信息发送回客户端时无法将此 dto 转换为 json:
emitter.send(SseEmitter.event() .data(SseStatusDto.builder() .currentPhase("DONE") .percentage(100) .result("temp-result") .build()), MediaType.APPLICATION_JSON);
我收到 java.lang.illegalargumentexception:没有适合类 <class>
的转换器
我错过了什么?
尝试为 ssestatusdto
模型添加 getter 和 setter:
@Builder @AllArgsConstructor @NoArgsConstructo @Getter @Setter public class SseStatusDto { private String currentPhase; private int percentage; private String result; }
这应该可以解决您的问题。
以上是Spring SseEmitter 发送 DTO 对象时抛出 java.lang.IllegalArgumentException: No合适的转换器类错误的详细内容。更多信息请关注PHP中文网其他相关文章!