Ho un Web API ASP.NET ospitato e può accedere a richieste HTTP GET bene, ora ho bisogno di passare un paio di parametri ad una richiesta PostAsync in questo modo:Messaggio JSON HttpContent ad ASP.NET Web API
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;
Questa chiamata restituisce un risultato 404 non trovato.
Il lato server API azione assomiglia così:
[HttpPost]
public List<ItemInLocationModel> GetInventoryByLocationIDAndCode(int id, string code) {
...
}
E proprio per confermare la mia rotta sulla API Web assomiglia a questo:
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Presumo che sto passando il JSON HttpContent in modo errato, perché questo dovrebbe restituire lo stato 404?