首页  >  文章  >  web前端  >  如何将 JSON POST 数据作为对象正确传递到 Web API 方法?

如何将 JSON POST 数据作为对象正确传递到 Web API 方法?

Linda Hamilton
Linda Hamilton原创
2024-11-08 07:49:01688浏览

How to Properly Pass JSON POST Data to a Web API Method as an Object?

如何将 JSON POST 数据作为对象传递给 Web API 方法?

ASP.NET MVC4 Web API 应用程序提供了一种便捷的方法定义保存客户数据的 POST 方法。但是,当客户数据在 POST 请求正文中以 JSON 格式传递时,POST 方法中的客户参数的属性可能包含空值。

修复问题:使用内容类型“application/” json"

要解决此问题,使用以下 Content-Type 至关重要header:

Content-Type: application/json

请求修改:

发送请求时,需要进行以下更改:

// Convert the customer object to a JSON string
var customerJSON = JSON.stringify(customer);

// Set the Content-Type header
var xhr = new XMLHttpRequest();
xhr.open("POST", "api/customers");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(customerJSON);

在此场景中,模型绑定器会将 JSON 数据适当地绑定到类对象。

其他注意事项:

  • 确保 Web API 方法参数用 [FromBody] 属性修饰:
public object Post([FromBody] Customer customer)
  • 如果发送复杂对象,例如作为具有嵌套属性的视图模型,用 [FromBody] 修饰方法参数并将 Content-Type 标头指定为“application/json。”
  • 如果上述步骤失败,请确保模型属性是公共的并且具有无参数构造函数。另外,验证属性名称是否与 JSON 属性名称匹配。

以上是如何将 JSON POST 数据作为对象正确传递到 Web API 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn