Frage

Ich habe dieses Routing in meinem Webapiconfig

eingerichtet generasacodicetagpre.

und diese Methoden innen /api/productcontroller.cs

generasacodicetagpre.

Ich kann Anfragen / API / Produkt / GetProduct / 10000 anfordern und JSON zurückrufen.

Wenn ich Anfrage / API / Produkt / GetTest bekomme, bekomme ich 404

Wenn ich nicht wechsle zu

generasacodicetagpre.

und Anforderung / API / Produkt / GetTest / 10000 Ich erhalte JSON.

Ich habe keine Ahnung, warum das 404 passiert.Ich habe andere Controller (für Nicht-API-Anfragen), die als normal behandeln.Ich bin nach einigen Jahren von Webformen neu auf MVC, und das hat mich stumpiert.Zum Verweis, hier ist mein RouteConfig

generasacodicetagpre.

und mein application_start

generasacodicetagpre.

War es hilfreich?

Lösung

Dies ist auf die Reihenfolge Ihrer Routen zurückzuführen.

generasacodicetagpre.

wird vor

genannt generasacodicetagpre.

und Ihre Registrierungstechnik enthält eine Standard- (und sehr generische) Route

generasacodicetagpre.

Diese generische (Standard-) Regel entspricht Ihrem URL-Muster von

generasacodicetagpre.

Bevor Ihre Webapi-Route eine Chance ergibt, ihn anzugehen.

Sie können diese supergenerische Route entweder loswerden, wenn Sie nicht benötigt werden (und spezielle Routen verwenden), oder bewegen Sie einfach den Anruf auf

generasacodicetagpre.

, um vor dem Anruf zu kommen, zu

generasacodicetagpre.

in Ihrem global.asax.

Ich habe mit allen Info, die Sie gegeben haben, eine Probe gebaut und diesen Anruf bewegt, der gut funktioniert. Ich hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top