ASP0003: Jangan gunakan atribut pengikatan model dengan handler rute
Nilai | |
---|---|
ID Aturan | ASP0003 |
Kategori | Penggunaan |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Penyebab
Delegasi handler rute menyertakan parameter yang memiliki [Bind]
atribut .
Deskripsi aturan
Titik akhir handler rute hanya mendukung subset atribut MVC seperti [FromRoute]
, , [FromBody]
dll. Atribut yang tidak didukung diabaikan dan mengakibatkan perilaku pengikatan yang tidak terduga. Misalnya, kode berikut menghasilkan peringatan penganalisis:
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, pastikan titik akhir menggunakan salah satu atribut pengikatan model yang diizinkan.
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
Kapan harus menekan peringatan
Jangan menekan peringatan dari aturan ini. Penyiapan pengikatan model yang salah dapat mengakibatkan perilaku tak terduga saat menyelesaikan parameter pada runtime.
ASP.NET Core