Ich verwende die .NET MVC4-Web-API, um (hoffentlich) eine RESTful-API zu implementieren. Ich muss ein paar Parameter an das System übergeben und es eine Aktion ausführen lassen, um dann eine Liste von Objekten als Ergebnis zurückzugeben. Insbesondere übergebe ich zwei Daten und gebe Aufzeichnungen zurück, die zwischen ihnen liegen. Ich verfolge auch die zurückgegebenen Datensätze, damit nachfolgende Anrufe im System nicht erneut verarbeitet werden.
Ich habe einige Ansätze in Betracht gezogen:
Serialisieren der Parameter in eine einzelne JSON-Zeichenfolge und Auswählen in der API. http://forums.asp.net/t/1807316.aspx/1
Übergeben Sie die Parameter in der Abfragezeichenfolge.
Was ist der beste Weg, um mehrere Abfrageparameter an eine erholsame API zu übergeben?Definieren der Parameter in der Route: api / controller / date1 / date2
Verwenden eines POST, mit dem ich von Natur aus ein Objekt mit Parametern übergeben kann.
Erforschung von ODATA, da die Web-API dies (derzeit) unterstützt. Ich habe noch nicht viel damit gemacht, daher bin ich damit nicht sehr vertraut.
Es scheint, dass die richtigen REST-Praktiken anzeigen, wenn Daten abgerufen werden, sollten Sie ein GET verwenden. GET sollte jedoch auch nullipotent sein (erzeugt keine Nebenwirkungen), und ich frage mich, ob meine spezifische Implementierung dies verletzt, da ich Datensätze im API-System markiere und daher Nebenwirkungen hervorrufe.
Es führte mich auch zur Frage der Unterstützung variabler Parameter. Wenn sich die Eingabeparameterliste ändert, wäre es mühsam, Ihre Route für Auswahl 3 neu zu definieren, wenn dies häufig vorkommt. Und was kann passieren, wenn die Parameter zur Laufzeit definiert werden ...
Welche Auswahl (falls vorhanden) scheint für meine spezifische Implementierung auf jeden Fall am besten zu sein?