Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Lulus Data JSON POST sebagai Objek kepada Kaedah API Web dalam ASP.NET MVC4?

Bagaimana untuk Lulus Data JSON POST sebagai Objek kepada Kaedah API Web dalam ASP.NET MVC4?

Barbara Streisand
Barbara Streisandasal
2024-11-09 14:13:02344semak imbas

How to Pass JSON POST Data as an Object to a Web API Method in ASP.NET MVC4?

Melalukan Data JSON POST sebagai Objek kepada Kaedah API Web

Dalam API Web ASP.NET MVC4, anda mungkin menghadapi senario di mana permintaan POST yang mengandungi data JSON perlu dihantar kepada kaedah tindakan sebagai objek. Walau bagaimanapun, tanpa konfigurasi yang betul, parameter kaedah tindakan mungkin mengandungi sifat nol. Untuk menyelesaikan isu ini, anda mesti mengambil langkah berikut:

1. Tentukan Jenis Kandungan sebagai "aplikasi/json":

Apabila menghantar permintaan, pastikan pengepala Jenis Kandungan ditetapkan kepada "aplikasi/json." Ini memberitahu pelayan bahawa data adalah dalam format JSON.

2. Gunakan Kaedah JSON.stringify:

Dalam kod sisi klien, tukar data JSON kepada rentetan JSON menggunakan kaedah JSON.stringify. Langkah ini adalah penting untuk pengikat model untuk mengikat data JSON ke objek kelas anda.

Contoh:

var customer = { contact_name: "Scott", company_name: "HP" };
$.ajax({
    type: "POST",
    data: JSON.stringify(customer),
    url: "api/Customer",
    contentType: "application/json"
});

3. Hiaskan Parameter Kaedah Tindakan dengan [FromBody]:

Dalam kaedah tindakan API Web, hiasi parameter yang akan menerima data JSON dengan [FromBody]. Atribut ini menunjukkan bahawa data harus terikat daripada badan permintaan.

Contoh:

public IActionResult Post([FromBody] Customer customer)
{
    // ...
}

4. Menyiarkan Objek Kompleks:

Jika kelas model paparan anda mengandungi sifat kompleks (seperti senarai atau kelas bersarang), prinsip yang sama digunakan. Pastikan kod sisi klien membina objek yang sepadan dengan struktur kelas dan menghantarnya sebagai data JSON dengan Jenis Kandungan yang betul.

Penyelesaian masalah:

  • Jika pengikatan model berfungsi untuk sesetengah sifat tetapi bukan yang lain, semak sama ada parameter kaedah tindakan dihiasi dengan [FromBody].
  • Jika anda tidak menetapkan Jenis Kandungan secara eksplisit, pastikan bahagian pelanggan anda kod menggunakan kaedah yang betul (cth., $.ajax dengan contentType ditetapkan kepada "application/json").

Atas ialah kandungan terperinci Bagaimana untuk Lulus Data JSON POST sebagai Objek kepada Kaedah API Web dalam ASP.NET MVC4?. 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