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.