后端接口
强制 Web API 从请求正文读取简单类型,添加 [FromBody] 属性到参数
[HttpPost]
[Route("create")]
public Task<CalendarDto> CreateAsync([FromBody]string name)
{
return _calendarAppService.CreateAsync(name);
}
通过Swagger 模拟请求
POST http://localhost:5076/api/create HTTP/1.1
Host: localhost:5076
Content-Type: application/json
Content-Length: 7
"Alice"
前端Axios请求
return http.request({
baseURL: '/richBusApi',
url: Api.AddTodo,
method: 'POST',
data: "\"Alice\""
})
Axios
请求是正常的json
格式请求,headers['Content-Type'] = 'application/json;charset=utf-8'
,只不过简单属性的POST
请求Data
这里需要注意下,请求内容必须请求名称对应的字符串值,这里就是 "\"Alice\""
,如果不加\"
,则为一个对象,在后端无法json
序列化
注意事项
参考文档:
- ASP.NET Web API中的参数绑定 https://learn.microsoft.com/zh-cn/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api