Tôi đến câu hỏi này chủ yếu tìm kiếm một cách RESTful để sắp xếp lại. Tôi không thực sự thích bất kỳ câu trả lời nào, vì vậy đây là những gì tôi nghĩ là hầu hết là RESTful.
Đối với sắp xếp lại bạn có thể làm cho trật tự một nguồn lực:
/list/order
Sau đó, bạn có thể thực hiện các hoạt động bình thường vào nó (đối với các ví dụ này giả định một danh sách với 5 mặt hàng hiện đang ở trong đó):
"items":" [
{
"id": "A",
"name": "Monkey"
},
{
"id": "B",
"name": "Cow"
},
{
"id": "C",
"name": "Horse"
},
{
"id": "D",
"name": "Turkey"
},
{
"id": "E",
"name": "Tasmanian Devil"
},
]
Lưu ý rằng "thứ tự" không được bao gồm trong phản hồi tài nguyên. Nó không cần thiết - thứ tự được ngầm định cụ thể theo thứ tự phản hồi của các mục.
GET /list/order
trả về một danh sách các id mục theo đúng thứ tự của họ
['A','B','C','D','E']
POST /list/order
với tải trọng ['D','B','C','A','E']
GET /list/order
trả về một danh sách các id mục theo đúng thứ tự của họ
['D','B','C','A','E']
Cũng rõ ràng là bạn sẽ quay trở lại các mục trong danh sách theo thứ tự đúng khi bạn làm một GET
trên /list
.
GET /list
trả về một danh sách các mục theo đúng thứ tự của họ
"items":" [
{
"id": "D",
"name": "Turkey"
},
{
"id": "B",
"name": "Cow"
},
{
"id": "C",
"name": "Horse"
},
{
"id": "A",
"name": "Monkey"
},
{
"id": "E",
"name": "Tasmanian Devil"
},
]
1 năm sau: Khi nó quay ra, ponderings triết học như vậy có tác động tối thiểu trên như thế nào ứng dụng của bạn giải quyết một vấn đề. Câu trả lời thực sự có vẻ là nó không quan trọng những gì bạn chọn miễn là bạn không vi phạm bất kỳ thông số kỹ thuật/yêu cầu và gây ra bất kỳ vấn đề. – dadads