2012-05-08 37 views
11

Vì vậy, tôi có một trang web chấp nhận một HTTP-PUT cho một tài nguyên cụ thể, ví dụ: /contact sẽ cho phép người tiêu dùng cập nhật địa chỉ liên hệ, giả sử họ đã vượt qua xác thực.Khi cập nhật tài nguyên, mã trạng thái HTTP nào được trả lại khi cập nhật thành công?

Vì vậy, tôi cập nhật hồ sơ, tất cả đều tuyệt vời .. và bây giờ tôi cần trả lại thứ gì đó cho người tiêu dùng.

Mã trạng thái HTTP tôi phải trả lại là gì?

Nếu đây là số HTTP-POST (ví dụ: Tạo tài nguyên mới), thì tôi sẽ trả lại 201 Created và thêm thuộc tính tiêu đề Location.

Nhưng .. Tôi không thể tìm thấy bất kỳ manh mối nào về việc cần làm cho Bản cập nhật.

Chúc mừng :)

+0

Câu hỏi rất hay, có vẻ như không có mã HTTP chuẩn cho điều này, vì vậy tôi chỉ trả lại 200 OK. –

Trả lời

17

200 đặc biệt phù hợp nếu bạn trả về đại diện cho hành động (mặc dù công việc đang tiến hành nhưng gần kề-gọi "HTTP bis" kỳ lạ không đề cập đến PUT trong its description of 200 OK).

Nếu bạn không trả lại bất kỳ loại đại diện nào, hãy sử dụng 204 No Content để cho khách hàng thấy rằng họ không cần thay đổi "chế độ xem tài liệu" hiện tại của nó.

+0

Đại diện của hành động là gì? Nó đại diện cho các nguồn tài nguyên cập nhật hoặc là nó một cái gì đó dọc theo dòng "Blablabla successfullly cập nhật" – rmoestl

+1

Một đại diện của hành động sẽ được "blablabla cập nhật thành công", thường chỉ đáng giá nếu nó bao gồm a) chi tiết về những gì đã xảy ra nếu hữu ích cho khách hàng nhưng đặc biệt là b) liên kết đến những việc cần làm tiếp theo – fumanchu

+0

Cảm ơn bạn đã làm rõ, @fumanchu. – rmoestl

5

200 là mã trạng thái thích hợp giả sử PUT chỉ cập nhật và không tạo tài nguyên.

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