você diz não ser necessario o if (!ModelState.IsValid)...
?
É possivel e bem simples, apenas adicionando o atributo [ApiController] ele irá fazer essa autovalidação
ex:
[ApiController]
[Route("[controller]")]
public class UsuarioController : ControllerBase
{
[HttpPost]
public IActionResult Post(Usuario usuario)
{
return Ok(usuario);
}