C# 如何从WebAPI中的[FromBody]属性获取复杂数据
当我尝试发送请求“”时 从Postman(Google Extension)在body请求中使用“表单数据”得到错误: “消息”:“此资源不支持请求实体的媒体类型‘多部分/表单数据’。”, “ExceptionMessage”:“没有MediaTypeFormatter可用于从媒体类型为“multipart/form data”的内容中读取类型为“Case”的对象。”, “ExceptionType”:“System.Net.Http.UnsupportedMediaTypeException” 我的行动:C# 如何从WebAPI中的[FromBody]属性获取复杂数据,c#,asp.net,asp.net-web-api,C#,Asp.net,Asp.net Web Api,当我尝试发送请求“”时 从Postman(Google Extension)在body请求中使用“表单数据”得到错误: “消息”:“此资源不支持请求实体的媒体类型‘多部分/表单数据’。”, “ExceptionMessage”:“没有MediaTypeFormatter可用于从媒体类型为“multipart/form data”的内容中读取类型为“Case”的对象。”, “ExceptionType”:“System.Net.Http.UnsupportedMediaTypeException”
[Route("create")]
public object Create([FromBody]Case newCase, string signature)
{
var member = _memberService.GetUserByToken(signature);
if (member != null)
{
var caseId = _caseService.Add(newCase, member);
return Ok(new { caseId });
}
return NotFound();
}
您应该在Postman中添加标题内容类型:application/json
我在Postman中添加了标题“Content-Type:application/json”,但随后我得到了newCase=null。请尝试使用原始数据发布。看这里是的,它可以处理原始数据和内容类型:application/json,谢谢。但是表单数据和原始数据有什么区别呢?我将编写控制台应用程序来测试我的api。在这里你可以在postman中找到关于请求的描述。简而言之:您的web api操作需要原始json数据,然后这些数据将被序列化为对象。当您在postman中使用表单数据时,请求就像字典一样(key=>value)