我有一个托管的 ASP.NET Web API 并且可以很好地访问 http get 请求,我现在需要将几个参数传递给 PostAsync 请求,如下所示:
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;
此调用返回 404 Not Found 结果。
服务器端 API 操作如下所示:
[HttpPost]
public List<ItemInLocationModel> GetInventoryByLocationIDAndCode(int id, string code) {
...
}
只是为了确认我在 Web API 上的路线如下所示:
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我假设我错误地传递了 JSON HttpContent,为什么会返回状态 404?