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:沒有適合類別 06fc722e8309f4fc3af5f9b05c0cd286
的轉換器
我錯過了什麼?
嘗試為 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中文網其他相關文章!