Theo nguyên tắc chung, ý tưởng về GET trong REST là bất kỳ thông số nào của bạn được gửi trong URL. Khi câu trả lời cho câu hỏi mà bạn đưa vào chỉ ra, nó có thể thực hiện được nhưng bỏ qua điểm REST, đó là có một giao diện webbish nhất quán. Nếu bạn muốn chuyển dữ liệu phức tạp đến điểm cuối của mình, có thể bạn muốn sử dụng POST, mà người dùng của bạn sẽ mong muốn có nội dung. Tôi khuyên bạn nên xem xét lại việc triển khai đó.
Nhưng đối với câu hỏi thực tế của bạn, chắc chắn có những khách hàng không thể gửi nội dung trên GET. Chủ yếu là tôi tưởng tượng khách hàng của bạn sẽ có lập trình, ví dụ, urlib2 của python và khi bạn có thể đặt cơ thể trên GET, nó không thực sự là mục đích sử dụng của mô-đun, vì vậy bạn buộc người lập trình trở nên kỳ quặc. Quan trọng hơn, ý tưởng về REST api là khách hàng bất khả tri, đó là lý do tại sao nó nghe với tôi giống như thiết kế API của bạn nên được làm lại ở đây.
có điều này sẽ là sự lựa chọn thứ hai của tôi. Đúng là việc sử dụng một phần thân trên yêu cầu GET không hoàn toàn an toàn, nhưng nó cần thiết. Độ dài URL bị giới hạn và thường gặp sự cố với dữ liệu phức tạp. Nếu không có khả năng GET, tôi sẽ sử dụng POST, nhưng người dùng sẽ phát hiện POST để tạo và GET để truy xuất dữ liệu. Tuy nhiên, tôi không thấy lựa chọn nào khác. – user437899
Tôi thấy điểm, nhưng tôi nghĩ rằng nó sẽ ít gây đột biến hơn cho người dùng để tưởng tượng điểm cuối POST như một nhà cung cấp dịch vụ đang xử lý dữ liệu XML/JSON phức tạp của họ và phản hồi kết quả, hơn là tạo ra một tiêu chuẩn không GET yêu cầu. POST thường được sử dụng theo cách này, GET thì không. – Ben