Bagikan melalui


ASP0004: Jangan gunakan hasil tindakan dengan handler rute

Nilai
ID Aturan ASP0004
Kategori Penggunaan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif

Penyebab

Delegasi handler rute mengembalikan nilai yang mengimplementasikan IActionResult.

Deskripsi aturan

Titik akhir handler rute tidak mendukung eksekusi instans MVC IActionResult . Mengembalikan yang IActionResult tidak menerapkan IResult hasil dalam membuat serialisasi instans hasil daripada mengeksekusi hasilnya.

app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));

Cara memperbaiki pelanggaran

Untuk memperbaiki pelanggaran aturan ini, pastikan bahwa handler rute titik akhir mengembalikan IResult jenis dengan menggunakan Results metode ekstensi.

app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));

Kapan harus menekan peringatan

Jangan menekan peringatan dari aturan ini. Mengembalikan yang IActionResult tidak menerapkan IResult hasil dalam membuat serialisasi instans hasil daripada mengeksekusi hasilnya.