Tôi muốn phân biệt giữa các loại lỗi "Không tìm thấy" riêng biệt. Ví dụ cho các yêu cầu sau đây:Tôi có thể sử dụng các lý do tùy chỉnh cho mã trạng thái HTTP để phân biệt giữa các lỗi cho REST API
GET /author/Adams/works/HHGTTG
Hoặc là tác giả có thể 'không tìm thấy' hoặc công việc có thể tìm thấy be'not' và tôi muốn phân biệt giữa hai người.
status: 404 - tác giả không tìm thấy
status: 404 - làm việc không tìm thấy
Theo spec cụm từ lý do có thể được thay đổi. http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html
6.1.1 Tình trạng Mã và Lý do cụm từ
... Các cụm từ lý do được liệt kê ở đây là chỉ khuyến nghị - họ có thể được thay thế bằng tương đương địa phương mà không ảnh hưởng đến giao thức ...
Bạn cũng có thể sử dụng hai cụm từ duy nhất cho cùng một mã trạng thái không?
Và, đây có phải là cách tiếp cận âm thanh hoặc có quy ước tốt hơn để chỉ ra các lỗi chi tiết hơn không?
Cuối cùng tôi muốn có thư viện khách hàng có thể ném ngoại lệ AuthorNotFound hoặc WorkNotFound thay vì ngoại lệ AuthorOrWorkNotFound chung.
Điều này khiến tôi suy nghĩ, để sử dụng tính năng dịch 404 không được tìm thấy thành một số – Ben
[nhận xét trước đó đã bị cắt xén] Điều này khiến tôi suy nghĩ về trường hợp sử dụng 404 không được tìm thấy trong WorkNotFound nếu lý do thực sự là vì không có tác giả. Nếu tôi yêu cầu/tác giả/adams/và nhận được 404 luôn được dịch sang WorkNotFound và 404 cho/author/adams/work/HHGTTG sẽ luôn dịch 404 sang WorkNotFound. Phía máy khách, tôi có thể dễ dàng xác định nguyên nhân gốc của WorkNotFound là AuthorNotFound hay không bằng cách tìm kiếm tác giả trực tiếp. Cảm ơn những lời khuyên hữu ích. – Ben