当我在Web api方法中使用[FromBody]属性时,我无法从邮递员调用api,并且当我致电时,我会收到状态:415不支持的媒体类型错误。但是,如果我删除该属性,则可以使用post man调用api,但是发送给api的参数为空。
我搜索了我的错误,但没有找到正确的答案。我删除了属性,但没有在参数中填充数据
public async Task<IActionResult> Register([FromBody] UserDto userDto)
{
...
}
Microsoft.AspNetCore.Mvc.StatusCodeResult:信息:执行HttpStatusCodeResult,设置HTTP状态代码415 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information:在146.5064毫秒内执行了操作DatingSite.Controllers.AuthController.Register(DatingSite)
public async Task<IActionResult> Register([FromBody] UserDto userDto)
{
if(!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if(await _repo.UserExist(userDto.Username))
{
return BadRequest("user name is used before");
}
User newUser=new User{
UserName=userDto.Username
};
var createdUser=await _repo.Register(newUser,userDto.Password);
return StatusCode(201);
}
我和邮递员一起寄了这封信,里面有空伙伴,但是我尝试了与原始数据这样的伙伴: http://localhost:5000/api/auth/register { “用户名”:“ someUser”, “ password”:“ somePassword” }
我正在使用post方法。 {“ username”:“ someUserName”,“ password”:“ somePassword”}
public class UserDto
{
[Required]
public string Username { get; set; }
[Required]
[StringLength(8,MinimumLength=4)]
public string Password { get; set; }
}