2012-02-23 25 views
17

Trong ứng dụng RESTful API của tôi có thể cố gắng đăng thông tin đã có trong cơ sở dữ liệu, đây không phải là lỗi, thay vì một thứ gì đó mà khách hàng có thể bỏ qua, có thể thông báo cho người dùng về sự cộng hòa hiện có.Mã trạng thái phản hồi thích hợp với yêu cầu REST POST khi tìm thấy trùng lặp là gì?

Bây giờ tôi đang trả lại 409 Xung đột và đối tượng đã tồn tại trong nội dung phản hồi. Tôi cảm thấy không chính xác vì:

Không thể hoàn thành yêu cầu do xung đột với trạng thái hiện tại . Mã này chỉ được cho phép trong các tình huống khi người dùng dự kiến ​​có thể giải quyết xung đột và gửi lại yêu cầu. Nội dung phản hồi NÊN bao gồm đủ thông tin để người dùng nhận ra nguồn gốc của xung đột. Lý tưởng nhất, đối tượng phản hồi sẽ bao gồm đủ thông tin cho đại lý người dùng hoặc người dùng để khắc phục sự cố; tuy nhiên, có thể không phải là có thể và không bắt buộc. via restpatterns.org

và nói chung, có vẻ như 409 có liên quan nhiều hơn với PUT.

Câu trả lời đúng trong trường hợp này là gì? Có thể nào 303 Xem tiêu đề Khác và Vị trí?

Trả lời

14

Tôi không chắc chắn có câu trả lời đúng. Chúng tôi đang trả lại 409 với thông báo rằng đó là tài nguyên trùng lặp. Chúng tôi cũng bao gồm hypermedia cho tài nguyên đó. Có vẻ như bạn cũng có thể sử dụng Yêu cầu 400 - Xấu nhưng dường như quá chung chung. Tôi có thể thấy 303 cũng hoạt động. Tôi muốn cho biết rằng có lỗi nên chúng tôi đã đi với 409.

Các vấn đề liên quan