Frage

Ich spiele mit Webapi2 und kam auf ein ungerade Problem.

Ich habe den Standardwerte-Controller aktualisiert, um ihttpactionResult

zu verwenden

wie

generasacodicetagpre.

Wenn ich Versuche anrufe () in Postman probiere, bekomme ich einen Fehler

{{ "Nachricht": "Es ist ein Fehler aufgetreten.", "ExceptionMessage": "Es wurden mehrere Aktionen gefunden, die der Anforderung entsprechen: \ r \ nSystem.web.http.ihtpactionResult erhalten () auf Typ WebApplication1.controllers.ValuesController \ r \ nSystem.web.http.ihtpactionResult.web.http.ihtpactionResult.web.http.iHTtpActionResult.web2 () auf Type WebAnPlication1 .Controllers.ValuesController ", "AUSSTOWTYPE": "system.invalidoperationException", "STACKTRACE": "AT system.web.http.controllers.apicontrolleractionsElector.actionsElectorCfortExtExtem.SelectactionSelectorConText-ControlllerSuchextaktion (httpcontrolleractionSt.Controllers.apicontrolleractionsElector.selectaction (HTTPControllerContext ControlllerContext) \ r \nbeim System. Web.http.apicontroller.executeAnsync (httpcontrollercontext ControllerContext, CancelLationToken CancelFeken) \ r \nbei System.web.http.dispatcher.httpControllerDispatcher.sendasynccore (httprequestmessage-Anforderung, Wideroken CancellationToken) \ r \nbei system.web.http.dispatcher. Httpcontrollerdispatcher.d__0.movenext () " }

Muss ich eine Route manuell erstellen, um diese zur Arbeit zu bringen?

Etwas so einfach, und doch ein Kopfschmerz!

War es hilfreich?

Lösung

Es ist, weil Sie zwei Get-Anfragen haben, die keine Parameter annehmen, so dass Webapi keine Möglichkeit hat, zwischen den beiden zu differenzieren.Eine Möglichkeit wäre, verschiedene Routen für jede Methode aufzubauen, wie Sie sagen.Der einfachste Weg, um dies zu erreichen, ist, das Attribut Routing -Bibliothek zu verwenden, mit dem Sie verschiedene Routen an der Steuerung definieren können undAktionsniveau sind wirklich einfach so:

generasacodicetagpre.

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