MVC AttributeRouting With GET - Rückgabe 405 - Methode nicht zulässig
Ich habe gerade an einer neuen Controller-Aktionsmethode gearbeitet und bin ein wenig verwirrt, warum ich eine 405 sehe.
Ich habe in meiner API bereits mehrere GET-attributierte Methoden definiert, die alle wie erwartet funktionieren. Zum Beispiel funktioniert das gut:
[GET("entries/{page}"), JsonExceptionFilter]
public HttpResponseMessage GetEntries(int page)
Meine neue Methode ist jedoch so definiert:
[GET("search/{searchTerm}/{page}"), JsonExceptionFilter]
public HttpResponseMessage Search(string searchTerm, int page)
Gibt eine 405 zurück
Wenn ich die URL routes.axd auf der API besuche, sehe ich einen Eintrag in der Tabelle wie folgt:
GET, HEAD, OPTIONS users/search/{searchTerm}/{page}
Das sieht alles richtig aus. Auf der Clientseite verwende ich bei beiden Anfragen mit einem HttpClient den gleichen Ansatz:
var response = httpClient.GetAsync(ApiRootUrl + "users/search/" + searchTerm + "/" + page).Result;
Wenn Sie ein Get von Fiddler ausführen, wird ebenfalls ein 405 zurückgegeben.
Sogar das Ansehen der RequestMessage in der Antwort sieht korrekt aus:
"{Method: GET, RequestUri: 'http://localhost:51258/users/search/jam/0'"
Völlig ratlos darüber.
Was kann ich sonst noch versuchen, um etwas Licht auf das zu werfen, was falsch läuft?