Olá, Rafael.
Tudo bem?
Pelo erro que você está recebendo, parece que o problema está relacionado com a propriedade RePassword
no seu JSON. O erro indica que não consegue encontrar uma propriedade chamada PassWord
, o que sugere que há um problema de correspondência entre o JSON enviado e o DTO esperado pelo seu endpoint.
Para resolver esse problema, verifique os seguintes pontos:
- Verifique a Classe DTO: Certifique-se de que a classe
CreateUsuarioDto
possui as propriedades Username
, DataNascimento
, Password
e RePassword
corretamente definidas.
public class CreateUsuarioDto
{
[Required]
public string Username { get; set; }
[Required]
public DateTime DataNascimento { get; set; }
[Required]
public string Password { get; set; }
[Required]
public string RePassword { get; set; }
}
- Verifique a Capitalização: No JSON enviado, as propriedades devem corresponder exatamente aos nomes definidos no DTO, incluindo a capitalização. No seu JSON, você tem
PassWord
em vez de Password
. Corrija para:
{
"Username": "romulo",
"DataNascimento": "1900-01-01",
"Password": "Senha123@",
"RePassword": "Senha123@"
}
- Verifique o Método do Controller: Certifique-se de que o método
CadastraUsuario
no seu UsuarioController
está recebendo o DTO correto.
[HttpPost("cadastro")]
public async Task<IActionResult> CadastraUsuario(CreateUsuarioDto dto)
{
await _usuarioService.CadastraUsuario(dto);
return Ok("Usuário cadastrado!");
}
- Verifique a Configuração do ModelState: Certifique-se de que o
ModelState
está sendo validado corretamente no método do controller, caso contrário, você pode não estar recebendo as mensagens de erro apropriadas.
[HttpPost("cadastro")]
public async Task<IActionResult> CadastraUsuario(CreateUsuarioDto dto)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
await _usuarioService.CadastraUsuario(dto);
return Ok("Usuário cadastrado!");
}
Depois de verificar e corrigir esses pontos, tente enviar o JSON novamente pelo Postman. Isso deve resolver o problema do erro 400 relacionado à validação das propriedades.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.