Tôi đang làm việc trên một API REST REST cho danh sách các mục menu điều hướng, khá nhiều cho mục đích học tập. Cho đến thời điểm này mọi thứ trong API khá đơn giản vì tôi chỉ phải sửa đổi các mục đơn lẻ thông qua công cụ cổ điển /collection/{id}
.Làm thế nào để cập nhật thứ tự của nhiều mục thông qua REST API?
Nhưng bây giờ Tôi muốn thay đổi thứ tự của danh sách các mục được lưu trữ trong các lĩnh vực order
của cơ sở dữ liệu của tôi và dĩ nhiên Tôi không muốn làm một yêu cầu đối với từng mục trình đơn.
Vì vậy, cách nào là một cách thích hợp/phổ biến thực tiễn tốt nhất để làm điều này?
Tôi có thể tưởng tượng gửi yêu cầu PUT
tới /collection
với cặp khóa-giá trị id trong dữ liệu đã gửi nhưng Laravel (mà tôi sử dụng để tạo API) không cho phép điều này. Tôi chắc chắn có thể chơi xung quanh hạn chế đó nhưng tôi đoán có lý do hợp lý rằng điều này là không được phép.
Một ý tưởng khác là gửi yêu cầu PUT
tới /collection/{ids}
bằng danh sách ID được phân cách bằng dấu phẩy nhưng tôi cũng phải gửi danh sách khóa-giá trị ID và giá trị đơn đặt hàng của chúng có vẻ khá dư thừa và do với điều đó cũng hơi bẩn.
Vậy điều gì thực sự sẽ là phương pháp tốt nhất?
Sử dụng PATCH để cập nhật một phần trường trong bản ghi và gửi một loạt yêu cầu sau đó chỉ cần lặp qua chúng trong laravel và cập nhật các bản ghi tương ứng – Rafael
PATCH âm thanh thực sự khá hữu ích, tôi dường như đã giám sát phương pháp đó. Nhưng điều đó vẫn không thực sự giải quyết được vấn đề của tôi - hoặc bạn có ý nghĩa gì bởi một loạt các yêu cầu? – Loilo
Bạn có đang sử dụng biểu mẫu hoặc phần tử AJAX không? – Rafael