Rumah  >  Artikel  >  Spring SseEmitter membuang java.lang.IllegalArgumentException: Tiada ralat kelas penukar yang sesuai semasa menghantar objek DTO

Spring SseEmitter membuang java.lang.IllegalArgumentException: Tiada ralat kelas penukar yang sesuai semasa menghantar objek DTO

王林
王林ke hadapan
2024-02-09 21:21:08505semak imbas

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.

Kandungan soalan

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?

Penyelesaian

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam