[FromBody] 是一个属性路由器标记,用于指示在 ASP.NET Web API 中从请求正文中获取参数值。
当一个 HTTP 请求发送到 Web API 时,请求正文(Request Body)通常包含了包含请求数据的信息,例如 JSON 或 XML 数据。默认情况下,Web API 会尝试根据请求的内容类型自动将请求正文转换为相应的参数类型。然而,有时你可能需要显式地指定参数要从请求正文中获取。
这就是 [FromBody] 属性路由器标记的作用。当你在 Web API 控制器的操作方法参数中使用 [FromBody] 标记时,它告诉 Web API 框架将参数值从请求正文中提取出来。
例如,考虑以下的 Web API 控制器方法:
在上述示例中,[FromBody] 标记告诉 Web API 框架将 HTTP 请求的请求正文中的数据转换成 MyModel 对象,并将其作为 model 参数的值传递给 Create 方法。
使用 [FromBody] 属性路由器标记可以方便地从请求正文中获取参数值,特别是在接收复杂对象或自定义模型时非常有用。它允许你控制请求正文的解析,并使其与方法参数类型匹配,以便进行后续处理。