【问题标题】:I am getting this Response code 415 in Asp.net core web api我在 Asp.net core web api 中得到这个响应代码 415
【发布时间】:2021-05-18 22:13:15
【问题描述】:

我已经将 .net core 项目版本从 2.2 升级到 Asp.net core 3.1,之前我得到了 200 ok 响应代码,但现在我在一种操作方法中得到了 415 响应代码

    [HttpPost]
    [ContentValidation("Test.xsd")]
    [Authorize(Policy = "User")]
    public async Task<IActionResult> Post([FromBody]Test test)
    {
        
    }
   

【问题讨论】:

  • 您能告诉我们使用 AddMvc 或 AddControllers 完成的设置吗?
  • 您是否发送 JSON 请求或其他类似 XML 的内容? ASP.NET Core 的默认媒体类型是 JSON。
  • @YashPatil 所以 KeuleJ 回答了你的问题。您可以激活 XML 媒体类型。更多细节在这里 => gavilan.blog/2020/01/22/…
  • @CodeNotFound 如果我要添加 services.AddControllers().AddXmlDataContractSerializerFormatters();在配置服务中它会解决我的问题吗?
  • @YashPatil 它将把它添加到支持的媒体类型的集合中。应用程序/json 将仍然存在,直到您明确删除它。

标签: asp.net-core asp.net-core-webapi asp.net-core-3.1


【解决方案1】:

根据您问题下方的 cmets,您正在以 XML 格式发送数据。在 ASP.Net Core 3.1 中,默认格式为 JSON,您需要通过在 services.AddControllers() 之后调用 AddXmlDataContractSerializerFormatters() 来选择 XML 格式,如下所示:

services.AddControllers().AddXmlDataContractSerializerFormatters(); 

旁注:仍将支持 JSON 格式。

【讨论】:

    猜你喜欢
    • 2020-08-06
    • 2018-04-23
    • 2021-12-22
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    相关资源
    最近更新 更多