Rumah >Java >javaTutorial >Bagaimana untuk Memuat Naik Fail dan Data yang Diiringi Secara Serentak dalam Perkhidmatan Web RESTful Jersey?

Bagaimana untuk Memuat Naik Fail dan Data yang Diiringi Secara Serentak dalam Perkhidmatan Web RESTful Jersey?

Patricia Arquette
Patricia Arquetteasal
2024-11-30 22:50:11594semak imbas

How to Upload Files and Accompanying Data Simultaneously in a Jersey RESTful Web Service?

Muat Naik Fail dengan Data yang Diiringi dalam Perkhidmatan Web RESTful Jersey

Apabila membuat pekerja dalam sistem, anda mungkin ingin memasukkan imej bersama-sama dengan maklumat peribadi mereka. Walaupun adalah mungkin untuk mencapai ini dengan panggilan REST yang berasingan, adalah lebih cekap untuk melakukannya dengan satu panggilan. Artikel ini menyediakan penyelesaian kepada masalah ini, membolehkan anda menerima kedua-dua fail dan data pekerja secara serentak.

Untuk mencapai ini, ubah suai kaedah Java seperti berikut:

@POST
@Path("/upload2")
@Consumes({MediaType.MULTIPART_FORM_DATA})
public Response uploadFileWithData(
        @FormDataParam("file") InputStream fileInputStream,
        @FormDataParam("file") FormDataContentDisposition contentDispositionHeader,
        @FormDataParam("emp") Employee emp) {

    // ..... business login
}

Dalam JSON struktur, data pekerja kini merupakan sebahagian daripada permintaan berbilang bahagian:

{
    "emp": {
        "Name": "John",
        "Age": 23,
        "Email": "[email protected]",
        "Adrs": {
            "DoorNo": "12-A",
            "Street": "Street-11",
            "City": "Bangalore",
            "Country": "Karnataka"
        }
    }
}

Tambahan Pertimbangan

  • Jersi tidak membenarkan berbilang Jenis Kandungan dalam satu permintaan.
  • Sesetengah pelanggan mungkin tidak menyokong penetapan Jenis Kandungan untuk bahagian badan individu (cth. Posmen dan penyemak imbas apabila menggunakan FormData).
  • Untuk menangani perkara ini, tetapkan Jenis Kandungan secara eksplisit sebelum dinyahsiri data JSON:
jsonPart.setMediaType(MediaType.APPLICATION_JSON_TYPE);
Employee emp = jsonPart.getValueAs(Employee.class);
  • Sebagai alternatif, anda boleh menggunakan parameter String dan menyahsiri JSON menggunakan perpustakaan seperti Jackson ObjectMapper.

Dengan mengikuti ini langkah, anda boleh berjaya memuat naik fail dan data pekerja yang disertakan dalam satu panggilan REST menggunakan Jersi.

Atas ialah kandungan terperinci Bagaimana untuk Memuat Naik Fail dan Data yang Diiringi Secara Serentak dalam Perkhidmatan Web RESTful Jersey?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn