【问题标题】:.Net Core 5 Post Response returns Incorrect Content-Type: application/json.Net Core 5 Post Response 返回不正确的 Content-Type: application/json
【发布时间】:2021-12-06 16:44:08
【问题描述】:

使用 .Net Core 5,我已经为我的应用程序配置了运行 application/json 所需的必要包。

使用 [FromBody] 参数属性,并使用 postman 发布数据会导致以下错误:

不正确的内容类型:application/json

我已经在启动时使用 .AddNewtonsoftJson(...) 配置了 AddControllers(...) 方法。

services.AddControllers(options =>
        {
            options.Filters.Add(new ProducesAttribute("application/json"));
            options.RespectBrowserAcceptHeader = true; // false by default
        }).AddNewtonsoftJson(options =>
       options.SerializerSettings.ContractResolver =
          new CamelCasePropertyNamesContractResolver());

下面是控制器的代码

public async Task<IActionResult> Post([FromBody] ProjectRequest pr)
    {
        try
        {
            var proj = new Project
            {
                Id = Guid.NewGuid().ToString(),
                Name = pr.Name,
                Excerpt = pr.Excerpt,
                Tags = pr.Tags
            };

            var resp = new
            {
                Data = "Project Added successfully"
            };

            return Ok(resp);

        } catch(Exception e)
        {
            var br = new
            {
                Data = $"An error occured : {e.Message}"
            };

            return BadRequest(br);
        }
    }

我无法弄清楚为什么仍然会抛出此错误。

【问题讨论】:

    标签: asp.net-core asp.net-web-api2


    【解决方案1】:

    你用postman发数据正确吗,我的例子可以正常工作:

    邮递员:

    控制器: 发送数据后,控制器接收数据

    终于收到货了

     {
         "data": "Project Added successfully"
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      • 2011-08-11
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多