ASP.NET Core Web API 不支持的媒体类型

Tie*_*ske 3 c# asp.net api

您好,我正在尝试使用 ASP.net Core 构建我的第一个 API,并一直在遵循本教程:https ://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view= aspnetcore-3.1&tabs=visual-studio

我想知道为什么我无法将任何内容发布到我的数据库(我在前面的步骤中已设置)

我使用歌曲而不是待办事项,当我尝试在邮递员中发出 POST 请求时,我收到此响应

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.13",
    "title": "Unsupported Media Type",
    "status": 415,
    "traceId": "|25aa76f-4966fce03006b505."
}
Run Code Online (Sandbox Code Playgroud)

无论我发送到 API 的键:值对是什么,使用 post 方法时我总是会得到相同的响应。

我的歌曲类如下所示:

    public class Song
    {
        public int Id { get; set; }

        public string Title { get; set; }

        public string Artist { get; set; }

        [DataType(DataType.Date)]
        public DateTime ReleaseDate { get; set; }

        public string Spotify { get; set; }

        public string Youtube { get; set; }

        public string Instagram { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

这是我所在的确切步骤的链接: https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api ?view=aspnetcore-3.1&tabs=visual-studio#与邮递员一起测试 posttodoitem

附:在编程方面我还是个新手,这可能是非常明显的事情。

小智 9

在正文请求中,您发送了无效的 JSON。您没有在标题中正确设置内容类型。

要在 POSTMAN 中解决此问题,请单击文本并从下拉列表中选择 JSON 选项。然后添加左大括号和右大括号。这样您就会收到 HTTP 400 代码。发送您的对象,如以下代码片段所示。

{
    “名字”:“汤姆”,
    "姓氏":"安德森",
    “地址”:“波士顿”
}

欲了解详细信息,请点击这里