Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从WebAPI中的[FromBody]属性获取复杂数据_C#_Asp.net_Asp.net Web Api - Fatal编程技术网

C# 如何从WebAPI中的[FromBody]属性获取复杂数据

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”

当我尝试发送请求“”时 从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)