将JSON HttpContent发布到ASP.NET Web API

我托管了一个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?

贾斯汀·赫尔格森

您收到404的原因是因为框架没有找到根据您的请求执行的方法。默认情况下,Web API使用以下规则来绑定方法中的参数:

  • 如果参数是“简单”类型,则Web API会尝试从URI中获取值。简单类型包括.NET基本类型(int,bool,double等),以及TimeSpan,DateTime,Guid,十进制和字符串,以及带有可以从字符串转换的类型转换器的任何类型。(稍后会更多有关类型转换器的信息。)
  • 对于复杂类型,Web API尝试使用media-type formatter从消息正文读取值

给定这些规则,如果要绑定POST正文中的参数,只需[FromBody]在类型前面添加一个属性:

[HttpPost]
public List<ItemInLocationModel> GetInventoryByLocationIDAndCode([FromBody] int id, string code) {
...
}

有关更多信息,请参见文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Ember数据发布到Web API

来自分类Dev

如何将json对象数组发布到Web API

来自分类Dev

如何将文件发布到ASP.NET Web Api 2

来自分类Dev

Android http发布到ASP.NET Web API不会插入数据

来自分类Dev

将多个对象发布到Web API

来自分类Dev

从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

来自分类Dev

将JSON字符串发布到WEB API

来自分类Dev

将体内的JSON数据发布到Web API

来自分类Dev

如何使用HttpClient将JSON数据发布到Web API

来自分类Dev

将JSON字符串作为POST发送到asp.net Web API

来自分类Dev

ASP .NET Web API返回JSON文件

来自分类Dev

在Asp.net Core中将字典发布到Web API

来自分类Dev

如何使用fetch()javascript方法将数据发布到.NET Core Web API

来自分类Dev

在XmlHttpRequest中使用FormData将数据发布到asp.net核心Web API时出现“ 400错误请求”

来自分类Dev

通过AJAX将JSON对象发布到ASP.NET Core Web API

来自分类Dev

将XML发布到.Net Core Web API

来自分类Dev

将文件从ASP.NET MVC 4.6应用程序发布到ASP.NET Core Web API

来自分类Dev

无法将文件从HttpClient发布到ASP.NET Web API

来自分类Dev

将键/值对发布到Web API

来自分类Dev

将JSON HttpContent发布到ASP.NET Web API

来自分类Dev

如何捕获和保存发布到Resting Asp.net Web API的JSON数据

来自分类Dev

将画布发布到Web API

来自分类Dev

ASP.NET / jQuery:将JSON发布到Web服务

来自分类Dev

将多个对象发布到Web API

来自分类Dev

如何使用HttpClient将JSON数据发布到Web API

来自分类Dev

ASP .NET Web API返回JSON文件

来自分类Dev

从 Angular 2 前端到 Asp.Net Core web api 的 JSON 数据发布 - 丢失值

来自分类Dev

将 ASP.NET Core 2.0 API 发布到 .NET 4.6.x 以在 IIS 中托管

来自分类Dev

无法将值从 angular 服务发布到 asp.net core angular 中的 Web API

Related 相关文章

  1. 1

    将Ember数据发布到Web API

  2. 2

    如何将json对象数组发布到Web API

  3. 3

    如何将文件发布到ASP.NET Web Api 2

  4. 4

    Android http发布到ASP.NET Web API不会插入数据

  5. 5

    将多个对象发布到Web API

  6. 6

    从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

  7. 7

    将JSON字符串发布到WEB API

  8. 8

    将体内的JSON数据发布到Web API

  9. 9

    如何使用HttpClient将JSON数据发布到Web API

  10. 10

    将JSON字符串作为POST发送到asp.net Web API

  11. 11

    ASP .NET Web API返回JSON文件

  12. 12

    在Asp.net Core中将字典发布到Web API

  13. 13

    如何使用fetch()javascript方法将数据发布到.NET Core Web API

  14. 14

    在XmlHttpRequest中使用FormData将数据发布到asp.net核心Web API时出现“ 400错误请求”

  15. 15

    通过AJAX将JSON对象发布到ASP.NET Core Web API

  16. 16

    将XML发布到.Net Core Web API

  17. 17

    将文件从ASP.NET MVC 4.6应用程序发布到ASP.NET Core Web API

  18. 18

    无法将文件从HttpClient发布到ASP.NET Web API

  19. 19

    将键/值对发布到Web API

  20. 20

    将JSON HttpContent发布到ASP.NET Web API

  21. 21

    如何捕获和保存发布到Resting Asp.net Web API的JSON数据

  22. 22

    将画布发布到Web API

  23. 23

    ASP.NET / jQuery:将JSON发布到Web服务

  24. 24

    将多个对象发布到Web API

  25. 25

    如何使用HttpClient将JSON数据发布到Web API

  26. 26

    ASP .NET Web API返回JSON文件

  27. 27

    从 Angular 2 前端到 Asp.Net Core web api 的 JSON 数据发布 - 丢失值

  28. 28

    将 ASP.NET Core 2.0 API 发布到 .NET 4.6.x 以在 IIS 中托管

  29. 29

    无法将值从 angular 服务发布到 asp.net core angular 中的 Web API

热门标签

归档