editor php Baicao mungkin menghadapi java.lang.IllegalArgumentException: Tiada ralat kelas penukar yang sesuai apabila menggunakan Spring SseEmitter untuk menghantar objek DTO. Ralat ini biasanya berlaku apabila penukar tidak dikonfigurasikan dengan betul, mengakibatkan ketidakupayaan untuk menukar objek DTO ke dalam format data yang betul. Cara untuk menyelesaikan masalah ini adalah untuk memeriksa sama ada kelas penukar dikonfigurasikan dengan betul dalam fail konfigurasi dan memastikan bahawa kelas penukar boleh menukar objek DTO dengan betul ke dalam format data yang sepadan.
Dalam aplikasi spring-boot kami, kami mempunyai ssestatusdto
dto yang mudah berikut:
@builder @allargsconstructor @noargsconstructor public class ssestatusdto { private string currentphase; private int percentage; private string result; }
Atas sebab tertentu saya tidak faham, spring tidak boleh menukar dto ini kepada json apabila cuba menghantar maklumat kembali kepada pelanggan:
emitter.send(SseEmitter.event() .data(SseStatusDto.builder() .currentPhase("DONE") .percentage(100) .result("temp-result") .build()), MediaType.APPLICATION_JSON);
Saya menerima penukar untuk java.lang.illegalargumentexception:没有适合类 06fc722e8309f4fc3af5f9b05c0cd286
Apa yang saya terlepas?
Cuba tambahkan pengambil dan penetap pada model ssestatusdto
:
@Builder @AllArgsConstructor @NoArgsConstructo @Getter @Setter public class SseStatusDto { private String currentPhase; private int percentage; private String result; }
Ini sepatutnya menyelesaikan masalah anda.
Atas ialah kandungan terperinci Spring SseEmitter membuang java.lang.IllegalArgumentException: Tiada ralat kelas penukar yang sesuai semasa menghantar objek DTO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!