Tôi đang phát triển một API REST hoàn toàn mới bằng cách sử dụng ASP.NET Web API. Đến từ một nền WCF, tôi cảm thấy bị lôi cuốn khi tạo ra "các hợp đồng lỗi" cho API của tôi.Trả về lỗi trong API Web
Trong trường hợp này, tôi không nói về các ngoại lệ chưa được giải quyết được trả lại cho khách hàng. Thay vào đó, tôi đang tập trung vào các lỗi như API đang được khách hàng sử dụng không đúng - đặc biệt là những nơi mà khách hàng có thể tự động tạo các lỗi này và gửi lại các yêu cầu.
Hầu hết các ví dụ tôi đã tìm thấy chỉ có một chuỗi được trả lại, thường là bằng cách ném một HttpResponseException, hoặc ít nhất là làm một số công cụ để thực hiện quá trình xây dựng một chuỗi lỗi thông tin mới hơn tự động: Return custom error objects in Web API
tôi m suy nghĩ về thay vì tạo ra một HttpResponseException, đi qua trong một HttpResponseMessage có nội dung được đặt thành loại hợp đồng lỗi cụ thể của tôi.
API của tôi cũng đang sử dụng quá nhiều xác thực mô hình tự động, và các lỗi xác thực mô hình trở lại như một cấu trúc hoàn toàn khác.
Vì vậy, tôi có nên buộc "lỗi" của tôi vào cùng một định dạng với phản hồi xác thực mô hình không? Các phương pháp hay nhất ở đây là gì?
Cuối cùng, API của tôi sẽ hiển thị các tùy chọn định dạng bộ đệm giao thức json, xml và giao thức. Kết quả là, tôi thực sự cần phải đảm bảo rằng chiến lược của tôi là độc lập với định dạng.
bạn có thể cung cấp thêm thông tin về HttpError và cách tốt nhất để trả lại không? Nó vẫn là cách tiêu chuẩn để trả về lỗi - tôi có thể tìm thấy ít về nó - thx. Nó cũng không xuất hiện để làm việc với IHttpActionResult. – niico