Tôi đang sử dụng API Web .Net MVC4 để (hy vọng) triển khai api RESTful. Tôi cần truyền một vài tham số cho hệ thống và để nó thực hiện một số hành động, sau đó trả về một danh sách các đối tượng làm kết quả. Cụ thể tôi đang vượt qua trong hai ngày và trả lại hồ sơ rơi giữa họ. Tôi cũng đang theo dõi các hồ sơ được trả lại để các cuộc gọi tiếp theo không được xử lý lại trong hệ thống.
Tôi đã xem xét một vài cách tiếp cận:
Sắp xếp các tham số thành một chuỗi JSON duy nhất và tách nó ra trong API. http://forums.asp.net/t/1807316.aspx/1
Vượt qua các tham số trong chuỗi truy vấn.
Cách tốt nhất để truyền nhiều tham số truy vấn cho một api yên tĩnh là gì?Xác định các thông số trong tuyến đường: api / control / date1 / date2
Sử dụng POST vốn đã cho phép tôi vượt qua một đối tượng với params.
Nghiên cứu ODATA vì API Web (hiện tại) hỗ trợ nó. Tôi chưa làm được gì nhiều với điều này nên tôi không quen lắm.
Có vẻ như các thực tiễn REST thích hợp chỉ ra khi dữ liệu được kéo, bạn nên sử dụng GET. Tuy nhiên, GET cũng phải là nullipotent (không tạo ra tác dụng phụ) và tôi tự hỏi liệu việc triển khai cụ thể của tôi có vi phạm điều đó hay không vì tôi đánh dấu các bản ghi trong hệ thống API, do đó tôi đang tạo ra các tác dụng phụ.
Nó cũng dẫn tôi đến câu hỏi hỗ trợ các tham số biến. Nếu danh sách tham số đầu vào thay đổi, sẽ rất tẻ nhạt khi phải xác định lại tuyến đường của bạn cho Lựa chọn 3 nếu điều đó xảy ra nhiều. Và điều gì có thể xảy ra nếu các tham số được xác định vào thời gian chạy ...
Trong mọi trường hợp, đối với việc thực hiện cụ thể của tôi, lựa chọn nào (nếu có) có vẻ tốt nhất?