在 Web API 中将 JSON POST 数据作为对象传递
ASP.NET MVC4 Web API 应用程序通常定义 POST 方法来处理数据提交。开发者在接收请求体中的JSON数据时,可能会遇到POST参数设置为空的问题。要解决此问题,确保正确使用 Content-Type 和模型绑定非常重要。
Content-Type:
默认情况下,ASP.NET 使用 Content -Type: application/x-www-form-urlencoded,这对于发送 JSON 数据来说并不理想。要指定 JSON,请在请求标头中设置 Content-Type: application/json。
模型绑定:
要启用模型绑定,请使用 [ 装饰 POST 方法参数来自正文]。此属性指定数据应从请求正文而不是 URL 查询字符串绑定。
示例:
在提供的示例中,控制器方法需要一个请求正文中的客户对象。要修复空值问题,请确保在请求标头中指定 Content-Type: application/json 并使用 [FromBody] 修饰参数,如下所示:
public object Post([FromBody] Customer customer)
在客户端,使用 JSON。 stringify 在发送 POST 请求之前将 Customer 对象转换为 JSON 字符串。
复杂对象:
对于更复杂的对象,例如具有嵌套属性或列表的对象,同样的方法适用。使用 JSON.stringify 在客户端序列化对象并确保设置正确的 Content-Type 标头。
故障排除:
如果模型绑定无法正常工作,请考虑以下事项:
以上是如何在 ASP.NET MVC4 Web API 中使用模型绑定正确处理 JSON POST 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!