Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengendalikan Pengesahan Keadaan Model dalam API Web ASP.NET?

Bagaimana Mengendalikan Pengesahan Keadaan Model dalam API Web ASP.NET?

Barbara Streisand
Barbara Streisandasal
2024-12-24 19:52:11715semak imbas

How to Handle Model State Validation in ASP.NET Web API?

Mengendalikan Pengesahan Keadaan Model dalam API Web ASP.NET

Mengesahkan model dalam API Web ASP.NET ialah tugas biasa. Pengesahan model boleh dicapai dengan menggunakan sifat anotasi data dan sifat ModelState.

Model yang diberikan dalam contoh mentakrifkan beberapa sifat, setiap satu dengan atribut anotasi data Diperlukan yang menunjukkan bahawa medan itu diperlukan.

Dalam contoh, dalam kaedah Post action, tiada pengesahan eksplisit dilakukan pada model. Untuk melaksanakan pengesahan model, anda boleh menambah kod berikut pada permulaan kaedah:

if (!ModelState.IsValid)
{
    // Handle validation errors
}

Sekiranya ModelState tidak sah, ini menunjukkan bahawa pengesahan model gagal. Pada ketika ini, anda boleh mengambil langkah berikut untuk mengendalikan mesej ralat:

  1. Buat objek HttpResponseMessage kosong.
  2. Tetapkan kod status HttpResponseMessage kepada HttpStatusCode.BadRequest, menunjukkan ralat klien.
  3. Tambahkan mesej ralat ModelState pada kandungan HttpResponseMessage.
  4. Menetapkan HttpResponseMessage kepada respons HttpActionContext.

Anda juga boleh menggunakan Penapis Tindakan untuk pengesahan model. Penapis Tindakan ialah atribut tersuai yang boleh dijalankan sebelum atau selepas operasi API dilaksanakan. Contoh berikut menunjukkan cara menggunakan Penapis Tindakan untuk pengesahan model:

public class ValidationActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        if (!actionContext.ModelState.IsValid)
        {
            actionContext.Response = actionContext.Request
                .CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
        }
    }
}

Menggunakan Penapis Tindakan ini pada operasi API secara automatik mengesahkan model dan mengembalikan respons ralat yang sesuai jika keadaan model tidak sah.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Pengesahan Keadaan Model dalam API Web ASP.NET?. 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