Ich habe einen sehr einfachen Test auf ASP.NET MVC4 WebAPI durchgeführt und ein interessantes Problem gefunden:
Wenn eine Methode einen komplexen Typ annimmt, wird sie funktionieren, aber wenn sie string oder int braucht, wird 404 geworfen, wie der Screenshot zeigt: Das "AddProduct" funktioniert, aber "Test" und "Test1" sind immer nicht gefunden.
Wie soll ich die Methode richtig aufrufen?
Hast du es versucht,
%Vor%Im Moment versagt es, weil Sie Ihr gesamtes json-Objekt (in der jquery ajax-Methode) in Anführungszeichen gesetzt haben.
Versuchen Sie, ohne die Anführungszeichen und lassen Sie es mich wissen!
Auch
Wenn Sie einzelne Variablen wie string username und int value testen, beachten Sie, dass die WEB API genau das erwartet.
Dieser Typ,
%Vor%Sucht nach einem Beitrag, der dieser URL-Signatur entspricht (ich verwende HTTPIE) ...
$ http POST Ссылка Wert = 1
Dabei ist "4" der Wert der Variablen "value" in dieser Test1-Methode.
Mehr über HTTPIE hier: Scott Hanselman bei der Installation von HTTPIE
Hoffe das hilft!
versuche das:
Die Webseite akzeptiert den Wert von "[FormBody]", also solltest du mit "= {0}" posten ({0} wird durch Ihre Zeichenfolgedaten ersetzt)
%Vor%Siehe auch diese Antwort: POST eine Zeichenfolge an Web-API-Controller in ASP.NET 4.5 und VS 2012 RC
Ich habe fast einen Tag danach gesucht, weil ich möchte, dass meine Daten ein JSON sind. Wenn Sie also einen Wert hier posten müssen, ist es:
INT:
%Vor%STRING
%Vor%STEUERUNG
%Vor% mit Route
call: localhost: xx // api / product / Hinzufügen
Tags und Links asp.net-web-api asp.net asp.net-mvc-4