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

php小编百草在使用spring sseemitter发送dto对象时,可能会遇到java.lang.illegalargumentexception: no合适的转换器类错误。这个错误通常发生在没有正确配置转换器的情况下,导致无法将dto对象转换为正确的数据格式。解决这个问题的方法是检查配置文件中是否正确配置了转换器类,并确保转换器类能够正确地将dto对象转换为相应的数据格式。

问题内容

在我们的 spring-boot 应用程序中,我们有以下简单的 ssestatusdto dto:

@builder@allargsconstructor@noargsconstructorpublic 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:没有适合类 的转换器

我错过了什么?

立即学习“Java免费学习笔记(深入)”;

解决方法

尝试为 ssestatusdto 模型添加 getter 和 setter:

@Builder@AllArgsConstructor@NoArgsConstructo@Getter@Setterpublic class SseStatusDto {  private String currentPhase;  private int percentage;  private String result;}

登录后复制

这应该可以解决您的问题。

以上就是Spring SseEmitter 发送 DTO 对象时抛出 java.lang.IllegalArgumentException: No合适的转换器类错误的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2621950.html

(0)
上一篇 2025年3月6日 23:41:06
下一篇 2025年3月6日 23:41:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论