Meluluskan Data JSON POST sebagai Objek dalam API Web
Aplikasi API Web ASP.NET MVC4 sering mentakrifkan kaedah POST untuk mengendalikan penyerahan data. Apabila menerima data JSON dalam badan permintaan, pembangun mungkin menghadapi masalah di mana parameter POST ditetapkan kepada null. Untuk menyelesaikan masalah ini, adalah penting untuk memastikan penggunaan Jenis Kandungan dan pengikatan model yang betul.
Jenis Kandungan:
Secara lalai, ASP.NET menggunakan Kandungan -Jenis: application/x-www-form-urlencoded, yang tidak sesuai untuk menghantar data JSON. Untuk menentukan JSON, tetapkan Content-Type: application/json dalam pengepala permintaan anda.
Pengikatan Model:
Untuk mendayakan pengikatan model, hiasi parameter kaedah POST dengan [ FromBody]. Atribut ini menentukan bahawa data harus diikat daripada badan permintaan dan bukannya rentetan pertanyaan URL.
Contoh:
Dalam contoh yang disediakan, kaedah pengawal menjangkakan Objek pelanggan dalam badan permintaan. Untuk membetulkan isu nilai nol, pastikan anda menentukan Content-Type: application/json dalam pengepala permintaan anda dan hiasi parameter dengan [FromBody] seperti berikut:
public object Post([FromBody] Customer customer)
Di sisi klien, gunakan JSON. stringify untuk menukar objek Pelanggan kepada rentetan JSON sebelum menghantar permintaan POST.
Objek Kompleks:
Untuk objek yang lebih kompleks, seperti objek dengan sifat atau senarai bersarang , pendekatan yang sama digunakan. Gunakan JSON.stringify untuk menyerikan objek pada bahagian klien dan pastikan pengepala Jenis Kandungan yang betul ditetapkan.
Penyelesaian masalah:
Jika pengikatan model tidak berfungsi dengan betul , pertimbangkan perkara berikut:
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Data JSON POST dengan Model Binding dalam API Web ASP.NET MVC4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!