WEB API 如何用FromBody] 标记字段
时间: 2024-02-17 20:04:15 浏览: 113
ASP.NET Core Web API,具有单个控制器的多个Get或Post方法
在Web API中,可以使用[FromBody]属性来标记Action方法的参数,表示该参数是从请求的body中获取的数据。具体步骤如下:
1. 在Action方法的参数列表中,声明要使用FromBody属性标记的参数,如下所示:
```
public IHttpActionResult Post([FromBody] User user)
{
// ...
}
```
2. 在客户端发送POST请求时,请求的Content-Type必须是application/json或者application/xml,表示请求的body中包含的是JSON或XML格式的数据。例如,发送JSON格式的数据,可以使用以下代码:
```
var data = JSON.stringify({
name: 'John',
age: 30
});
$.ajax({
url: '/api/users',
type: 'POST',
contentType: 'application/json',
data: data,
success: function(result) {
// ...
}
});
```
3. 在请求的body中,包含要传递的数据。例如,发送JSON格式的数据,可以使用以下格式:
```
{
"name": "John",
"age": 30
}
```
通过上述步骤,就可以使用[FromBody]属性来标记Action方法的参数,并从请求的body中获取数据。注意,如果请求的Content-Type不是application/json或者application/xml,那么Web API会无法正确解析请求的body中的数据,导致无法获取参数。
阅读全文