将 JSON POST 数据作为对象传递给 Web API 方法
在 ASP.NET MVC4 Web API 中,您可能会遇到以下情况:包含 JSON 数据的 POST 请求需要作为对象传递给操作方法。但是,如果没有正确的配置,操作方法的参数可能包含 null 属性。要解决此问题,您必须执行以下步骤:
1.将 Content-Type 指定为“application/json”:
发送请求时,请确保 Content-Type 标头设置为“application/json”。这通知服务器数据是 JSON 格式。
2.使用 JSON.stringify 方法:
在客户端代码中,使用 JSON.stringify 方法将 JSON 数据转换为 JSON 字符串。此步骤对于模型绑定器将 JSON 数据绑定到类对象至关重要。
示例:
var customer = { contact_name: "Scott", company_name: "HP" }; $.ajax({ type: "POST", data: JSON.stringify(customer), url: "api/Customer", contentType: "application/json" });
3.使用 [FromBody] 装饰 Action 方法参数:
在 Web API 操作方法中,使用 [FromBody] 装饰将接收 JSON 数据的参数。该属性表示数据应从请求正文绑定。
示例:
public IActionResult Post([FromBody] Customer customer) { // ... }
4.发布复杂对象:
如果您的视图模型类包含复杂属性(例如列表或嵌套类),则适用相同的原则。确保客户端代码构建与类结构匹配的对象,并将其作为具有正确 Content-Type 的 JSON 数据发送。
故障排除:
以上是如何将 JSON POST 数据作为对象传递给 ASP.NET MVC4 中的 Web API 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!