Stellen Sie den JSON-HTTP-Inhalt in der ASP.NET-Web-API bereit
Ich habe eine gehostete ASP.NET-Web-API und kann problemlos auf http get-Anforderungen zugreifen. Ich muss jetzt einige Parameter an eine PostAsync-Anforderung übergeben, z.
var param = Newtonsoft.Json.JsonConvert.SerializeObject(new { id=_id, code = _code });
HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json");
var response = client.PostAsync(string.Format("api/inventory/getinventorybylocationidandcode"), contentPost).Result;
Dieser Aufruf gibt ein Ergebnis 404 Not Found zurück.
Die serverseitige API-Aktion sieht folgendermaßen aus:
[HttpPost]
public List<ItemInLocationModel> GetInventoryByLocationIDAndCode(int id, string code) {
...
}
Und nur um meine Route über die Web-API zu bestätigen, sieht das so aus:
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Ich gehe davon aus, dass ich den JSON-HTTP-Inhalt falsch weitergebe. Warum würde dies den Status 404 zurückgeben?