web-api-Aufruf get-Methode mit verschiedenen url-Parametern

Habe ich eine Reihe von Anforderungen, implementieren Sie die get-Schnittstelle:

 - api/Item
 - api/Item?name=test
 - api/Item?updated=2016-10-12
 - etc

Habe ich definiert die Methoden:

 - get() //returns all items
 - getName([FromUri] string name) 
 - getUpdated([FromUri] string updated)

Mein Problem ist - wenn der parameter nicht existiert (nehmen wir an, der Anruf wurde api/Item?test=test), die get() - Methode aufgerufen, als "test" parameter-mapping " wird nicht gefunden.

Muss ich wieder den Fehler Reaktion in diesem Fall. Gibt es einen anderen richtigen Weg, um Lesen Sie die Parameter aus der URL zu treffen, die Schnittstelle Anforderung?

Verwenden Sie Attribut-routing...
Oder überdenken Sie Ihre route design. Warum nicht mit api/Item/name/test oder api/item/aktualisiert/2016-10-12? Dann verwenden Sie ein Standard-route, Karte, gefolgt von einem Fehler-route-Karte, mit der nicht passenden Routen.
Danke Jungs für den Hinweis in die richtige Richtung

InformationsquelleAutor Andrei | 2016-10-12

Schreibe einen Kommentar