Rumah >pembangunan bahagian belakang >C++ >Bagaimana Harus ASP.NET Web API Mengembalikan Ralat: Serta-merta atau Secara Kolektif?
Amalan Terbaik untuk Mengembalikan Ralat dalam API Web ASP.NET
Apabila menangani ralat dalam API Web ASP.NET, terdapat dua utama pendekatan: mengembalikan ralat dengan segera atau mengumpul ralat dan menghantarnya kembali secara kolektif. Artikel ini mengkaji kebaikan dan keburukan setiap pendekatan dan menyediakan amalan terbaik yang disyorkan.
1. Mengembalikan Ralat Serta-merta
Dalam pendekatan pertama, ralat dikembalikan serta-merta menggunakan HttpResponseExceptions. Ini sesuai apabila:
Contoh:
public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest); } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest); } }
2. Mengumpul dan Menghantar Kembali Ralat
Dalam pendekatan kedua, ralat terkumpul dan dikembalikan secara kolektif pada akhir tindakan. Ini disyorkan apabila:
Contoh:
public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer Name cannot be empty"); } if (customer.Accounts.Count == 0) { errors.Add("Customer does not have any account"); } var responseMessage = new HttpResponseMessage<List<string>>(errors, HttpStatusCode.BadRequest); throw new HttpResponseException(responseMessage); }
Amalan Terbaik
Walaupun kedua-dua pendekatan mempunyai kelebihannya, amalan terbaik yang disyorkan ialah mengembalikan ralat dengan segera. Ini:
Walau bagaimanapun, untuk ralat bukan maut yang adalah sebahagian daripada peringkat pengesahan atau pemprosesan yang lebih besar, mengumpul ralat dan mengembalikannya secara kolektif mungkin lebih sesuai.
Kemas kini
Artikel ini telah dikemas kini dari semasa ke semasa dengan cerapan daripada catatan blog dan perubahan dalam amalan terbaik:
Atas ialah kandungan terperinci Bagaimana Harus ASP.NET Web API Mengembalikan Ralat: Serta-merta atau Secara Kolektif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!