Rumah  >  Artikel  >  Java  >  Cara menggunakan penukar mesej SpringBoot HttpMessageConverter

Cara menggunakan penukar mesej SpringBoot HttpMessageConverter

PHPz
PHPzke hadapan
2023-05-10 19:40:041721semak imbas

Peranan penukar mesej

  • Tukar mesej permintaan kepada objek Java

  • Tukar objek Java kepada mesej respons

Kaedah utama penukar mesej

  • getSupportedMediaTypes: Dapatkan koleksi MediaType yang disokong (seperti: text/html, text/plain, application/json )

  • bolehBaca: Tentukan sama ada ia boleh dibaca (permintaan)

  • baca: Tukar format data permintaan (dipanggil semasa pengembalian nilai kaedah canRead adalah benar )

  • canWrite: Tentukan sama ada ia boleh ditulis (respons)

  • tulis: Tukar data respons kepada format (apabila nilai pulangan kaedah canWrite adalah benar Panggilan)

Penukar mesej terkonfigurasi lalai

SpringMVC akan secara automatik mengkonfigurasi beberapa HttpMessageConverter (addDefaultHttpMessageConverters kaedah WebMupvportcConfiguration) apabila ia bermula. penukar mesej yang dikonfigurasikan lalai.

Proses pemprosesan akan sepadan dengan penukar mesej yang sesuai dalam susunan set Jika ada yang sesuai, penukar mesej akan digunakan untuk pemprosesan (membaca, menulis), dan penukar mesej seterusnya tidak akan. dilaksanakan.

Untuk penukar mesej tersuai berkuat kuasa, ia mesti diletakkan di hadapan penukar mesej daripada jenis yang sama dalam koleksi Atas sebab itu, sila rujuk perkara kedua.

名称 描述
MappingJackson2HttpMessageConverter 负责读、写JSON格式数据(利用Jackson)
AllEncompassingFormHttpMessageConverter 负责读、写Form表单数据
Jaxb2RootElementHttpMessageConverter 负责读、写XML格式数据(使用JAXB)
ByteArrayHttpMessageConverter 负责读、写二进制格式数据
StringHttpMessageConverter 负责读、写字符串格式数据
ResourceHttpMessageConverter 负责读、写资源文件数据
SourceHttpMessageConverter 负责读、写资源数据
Berfikir: Memandangkan penukar mesej tersuai mesti diletakkan di hadapan penukar mesej jenis yang sama dalam koleksi, bolehkah penukar mesej asal dalam koleksi diubah suai terus untuk mencapai kesan tersuai tanpa perlu Tambah satu (belum diteliti lagi).

Apabila menambah penukar mesej tersuai, perhatikan sama ada penukar mesej lalai sedang berkuat kuasa

Kaedah WebMvcConfigurer.configureMessageConverters akan mengatasi set penukar mesej lalai

Kaedah WebMvcConfigurer.extendMessageConverters tidak mengatasi koleksi penukar mesej lalai

    Atas ialah kandungan terperinci Cara menggunakan penukar mesej SpringBoot HttpMessageConverter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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