Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Meluluskan Data JSON POST ke Kaedah API Web sebagai Objek?

Bagaimana untuk Meluluskan Data JSON POST ke Kaedah API Web sebagai Objek?

Linda Hamilton
Linda Hamiltonasal
2024-11-08 07:49:01787semak imbas

How to Properly Pass JSON POST Data to a Web API Method as an Object?

Bagaimana untuk Menghantar Data JSON POST ke Kaedah API Web sebagai Objek?

Aplikasi API Web ASP.NET MVC4 menawarkan cara yang mudah untuk tentukan kaedah POST yang menjimatkan data pelanggan. Walau bagaimanapun, apabila data pelanggan dihantar dalam format JSON dalam badan permintaan POST, parameter pelanggan dalam kaedah POST mungkin mengandungi nilai nol untuk sifatnya.

Membetulkan Isu: Menggunakan Jenis Kandungan "application/ json"

Untuk menyelesaikan isu ini, adalah penting untuk menggunakan Jenis Kandungan berikut pengepala:

Content-Type: application/json

Permintaan Pengubahsuaian:

Apabila menghantar permintaan, perubahan berikut diperlukan:

// Convert the customer object to a JSON string
var customerJSON = JSON.stringify(customer);

// Set the Content-Type header
var xhr = new XMLHttpRequest();
xhr.open("POST", "api/customers");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(customerJSON);

Dalam senario ini, pengikat model akan mengikat data JSON dengan sewajarnya ke kelas objek.

Pertimbangan Tambahan:

  • Pastikan parameter kaedah API web dihiasi dengan atribut [FromBody]:
public object Post([FromBody] Customer customer)
  • Jika menghantar objek kompleks seperti model paparan dengan sifat bersarang, hiasi parameter kaedah dengan [FromBody] dan tentukan pengepala Content-Type sebagai "application/json."
  • Jika langkah di atas gagal, pastikan sifat model adalah awam dan mempunyai pembina tanpa parameter. Juga, sahkan bahawa nama sifat sepadan dengan nama sifat JSON.

Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Data JSON POST ke Kaedah API Web sebagai Objek?. 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