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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage