Saya menggunakan .Net MVC4 Web API untuk (semoga) mengimplementasikan RESTful api. Saya perlu meneruskan beberapa parameter ke sistem dan membuatnya melakukan beberapa tindakan, lalu mengembalikan daftar objek sebagai hasilnya. Secara khusus saya melewati dua tanggal dan mengembalikan catatan yang ada di antara mereka. Saya juga melacak catatan yang dikembalikan sehingga panggilan berikutnya tidak diproses ulang di sistem.
Saya telah mempertimbangkan beberapa pendekatan:
Menyerialkan params ke dalam satu string JSON dan memisahkannya di API. http://forums.asp.net/t/1807316.aspx/1
Teruskan params dalam string kueri.
Apa cara terbaik untuk meneruskan beberapa parameter kueri ke restful api?Mendefinisikan params dalam rute: api / controller / date1 / date2
Menggunakan POST yang secara inheren memungkinkan saya meneruskan objek dengan params.
Meneliti ODATA sejak Web API (saat ini) mendukungnya. Saya belum melakukan banyak hal dengan ini jadi saya tidak terlalu terbiasa dengannya.
Tampaknya praktik REST yang tepat menunjukkan saat data ditarik, Anda harus menggunakan GET. Namun, GET juga harus nullipotent (tidak menghasilkan efek samping), dan saya bertanya-tanya apakah penerapan khusus saya melanggar itu karena saya menandai catatan dalam sistem API, maka saya menghasilkan efek samping.
Itu juga membawa saya ke pertanyaan tentang parameter variabel pendukung. Jika daftar parameter masukan berubah, akan membosankan jika harus menentukan ulang rute Anda untuk Pilihan 3 jika itu sering terjadi. Dan apa yang mungkin terjadi jika parameter ditentukan pada waktu proses ...
Bagaimanapun, untuk penerapan spesifik saya, pilihan mana (jika ada) yang paling baik?