Ich verwende eine Angular $ -Ressource, um ein Modell an einen Webapi-Endpunkt zu senden, aber Angular sendet die Daten in der Anforderungsnutzlast anstelle von JSON-Text- oder Formularparametern. Daher endet das Modell immer als null.POST von Angular zu .net WebAPI
Meine API ist wie folgt:
public class UserController : APIController {
[HttpPost]
public void Disconnect(Models.Users.User model) {
}
}
Die Request-Header sind:
POST /siteapi/User/Disconnect HTTP/1.1
Host: rouge2
Connection: keep-alive
Content-Length: 125
Accept: application/json, text/plain, */*
Origin: http://rouge2
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Content-Type: application/json;charset=UTF-8
Referer: http://rouge2/Users
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: .ASPXAUTH=115C6015BDD5C1A9D111B0A9FBF05294B73287328566F65CB1BCB457DF206EF0916D4615B5914EB443AA567E860742AC14EAA2951B9C327260C4F00649694260A1B3960771FB6675FEE8F3E68B0BB46436020ACAB33ECE0D3E70B50D6569E52B27F69161762C10C19A806A12D3254DF60EF4758DEDCA529A91CB36C74B7FA7F4; __RequestVerificationToken=Rp4Vu8R67ziDNc36DoOLZH7KmEfumig1zFDmYiFWHTsWyf2I037xJQydcmLtOfaJ3ccc8GEZXmHoa8LBRusxKFRYVoy27GuFEfNhKKYS_hUysjwCjmsxw5OCK3RKsiXIAh1Gbi0PxcdqBfzctSJn9g2
Und die Anfrage Nutzlast:
{"Id":3,"FirstName":"Test","LastName":"User","Username":"testuser","IsApproved":true,"IsOnlineNow":true,"IsChecked":true}
Wenn ich in Fiddler zu testen, die gleiche Buchung JSON-Zeichenfolge im Textkörper, das Modell ist wie erwartet korrekt ausgefüllt.
Gibt es einen integrierten Modellbinder, der in diesem Szenario funktioniert, oder etwas, das ich irgendwo vorinstalliert habe?
Oder kann mir bitte jemand in die Richtung eines Arbeitsbeispiels zeigen?
Eine Probe, um loszulegen: http://www.codeproject.com/Articles/737030/A -basic-SPA-application-using-AngularJS-WebAPI-und – Braulio