2013-07-26 26 views
26

Tôi có tài nguyên với uri /api/books/122, nếu tài nguyên này không tồn tại tại thời điểm khách hàng gửi HTTP Xóa cho tài nguyên này, mã phản hồi thích hợp từ hành động này là gì? Có 404 Không tìm thấy?
Cảm ơnMã phản hồi HTTP cho hoạt động Xóa HTTP không thành công là gì?

+0

Có thể chọn địa chỉ phù hợp từ đây? http://www.w3.org/Protocols/HTTP/HTRESP.html –

+6

Tôi đã tìm thấy biểu đồ luồng này để khai sáng: http://i.stack.imgur.com/whhD1.png – huwr

+0

@huwr Có một nguồn có thể chỉnh sửa hay không cho một nơi nào đó? Ngoài ra - Tôi có sai khi nghĩ rằng có một sai lầm ở trung tâm dưới cùng không? = Có -> = Có -> 204 Không có nội dung (??) Hình như các đường dẫn Có/Không được hoán đổi ở đó? – unomi

Trả lời

21

Vâng, nó sẽ là 404.

Nói chung nó sẽ là một lỗi 400 series nếu yêu cầu là sai bằng cách nào đó, và một lỗi 500 series nếu có điều gì đi xiên trên máy chủ.

28

Các mã phản hồi cho một cuộc gọi xóa có thể là bất kỳ những điều sau đây:

  • DELETE /api/book/122 - Máy chủ xử lý thành công yêu cầu, nhưng không được trả lại bất kỳ nội dung
    • 204 No Content
  • DELETE /api/book/122 - Tài nguyên không tồn tại
    • 404 Not Found
  • DELETE /api/book/122 - Resource đã xóa
    • 410 Gone
  • DELETE /api/book/122 - Người sử dụng không được phép
    • 403 Forbidden

Trong trường hợp này, 404 là apt.

+0

Bạn có thể chia sẻ tài liệu tham khảo cho điều này không? – maikel

+0

Về một 'URI' cho' Delete' hoặc 'Update' và giả sử kịch bản mà tài nguyên không còn tồn tại nữa, tôi nghĩ rằng nên là' 410' (* Gone *). Nhưng hãy xem xét kịch bản nếu tài nguyên không bao giờ tồn tại từ đầu hoặc trước đó, có ý nghĩa hơn là '404'. –

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