.net core CreatedAtRoute参数碰到的问题
CreatedAtRoute 方法中 new 里面的需要跟跳转的路由的参数名一致
[HttpGet("{userId:Guid}", Name = "GetApplicationUserById")]
public async Task<IActionResult> GetApplicationUserById(Guid userId)
{
var user = await _userManager.FindByIdAsync(userId.ToString());
if (user == null)
{
return NotFound($"该用户{userId}不存在");
}
return Ok(user);
}
[HttpPost]
public async Task<IActionResult> AddUserAsync([FromBody] RegisterDto registerDto)
{
//创建用户
var user = new ApplicationUser()
{
UserName = registerDto.Email,
Email = registerDto.Email
};
var result = await _userManager.CreateAsync(user, registerDto.Password);
if (!result.Succeeded)
{
return BadRequest(result.Errors);
}
return CreatedAtRoute(
"GetApplicationUserById",
new { userId = Guid.Parse(user.Id) },
user);
}