首页 > Java > Spring SseEmitter 发送 DTO 对象时抛出 java.lang.IllegalArgumentException: No合适的转换器类错误

Spring SseEmitter 发送 DTO 对象时抛出 java.lang.IllegalArgumentException: No合适的转换器类错误

王林
发布: 2024-02-09 21:21:08
转载
540 人浏览过

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中文网其他相关文章!

相关标签:
来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板