Asp.net core asp.net核心web api不支持的媒体类型错误
当我发送POST请求时,会出现以下错误:Asp.net core asp.net核心web api不支持的媒体类型错误,asp.net-core,asp.net-core-webapi,Asp.net Core,Asp.net Core Webapi,当我发送POST请求时,会出现以下错误: { “类型”:https://tools.ietf.org/html/rfc7231#section-6.5.13", “标题”:“不支持的媒体类型”, “地位”:415, “traceId”:“3866e04e-4b62c808bec91a8c。” } 模范班 名称空间WebApi.Models { 公共类用户 { 公共字符串用户名{get;set;} 公共字符串密码{get;set;} } } 控制器 使用系统; 使用Microsoft.AspN
{
“类型”:https://tools.ietf.org/html/rfc7231#section-6.5.13",
“标题”:“不支持的媒体类型”,
“地位”:415,
“traceId”:“3866e04e-4b62c808bec91a8c。”
}
模范班
名称空间WebApi.Models
{
公共类用户
{
公共字符串用户名{get;set;}
公共字符串密码{get;set;}
}
}
控制器
使用系统;
使用Microsoft.AspNetCore.Mvc;
使用WebApi.Models;
命名空间WebApi
{
[ApiController]
[路线(“/”)]
公共类HomeController:控制器
{
[HttpGet]
public IActionResult Get()
{
返回视图(“索引”);
}
[HttpPost]
公开作废帖子(用户)
{
Console.WriteLine(user.Username);
Console.WriteLine(用户密码);
}
}
}
和.cshtml文件:
用户名:
密码:
因为您的控制器是apicontroller,默认情况下它会获取json数据,但您会发送表单数据,因此您需要通过向操作添加[FromForm]
属性来指定源:
[HttpPost]
public void Post([FromForm]User user)
{
Console.WriteLine(user.Username);
Console.WriteLine(user.Password);
}
结果:
确保接受的内容类型与您在请求中发送的内容类型匹配。非常感谢!我想,需要一个ApiController来纠正控制器的操作。到目前为止,我只从很少的波兰资料中读到过。这个功能我在一些论坛上读过。再次谢谢你,谢谢!:D