По какой-то причине мой запрос PUT выдает ошибку BadRequest.Я проверил, в чем причина, и причина в том, что "gebruikersnaam" при поступлении на стороне .NET является нулевым, а не его значением.
[HttpPut("naam")]
public async Task<IActionResult> VeranderNaam(string gebruikersnaam)
{
IdentityUser user = await this._userManager.FindByNameAsync(User.Identity.Name);
Gebruiker gebruiker = this._gebruikerRepository.GetBy(user.UserName);
Brouwer brouwer = this._brouwerRepository.GetBy(user.UserName);
user.UserName = gebruikersnaam;
var result = await _userManager.UpdateAsync(user);
if (result.Succeeded)
{
if(brouwer != null)
{
brouwer.Naam = gebruikersnaam;
this._brouwerRepository.Update(brouwer);
this._brouwerRepository.SaveChanges();
return Ok();
}
else if(gebruiker != null)
{
gebruiker.Gebruikersnaam = gebruikersnaam;
this._gebruikerRepository.Update(gebruiker);
this._gebruikerRepository.SaveChanges();
return Ok();
}
}
return BadRequest();
}
угловой код
onSubmitNaam() {
console.log(this.gebruikersnaam.value.gebruikersnaam);
this.authService.veranderNaam(this.gebruikersnaam.value.gebruikersnaam).subscribe(
() => {
this.success = "Uw naam is met success aangepast";
}, err => {
this.error = "Uw naam is niet aangepast";
}
)
this.gebruikersnaam.reset();
}
veranderNaam(gebruikersnaam: string) {
return this.http.put(`${environment.apiUrl}/gebruikers/naam`, gebruikersnaam);
}
Я знаю, что моя форма получает значение, она отправляется из формы через запрос, но при поступлении запроса она "становится" нулевой.