public IActionResult AdicionarPiloto([FromBody] PilotoModelo pilotoModelo) { try { /*Piloto piloto = new Piloto(); * piloto.Id = pilotoModelo.Id; * piloto.Nome = pilotoModelo.Nome;*/ _logger.LogInformation("mapeando piloto modelo"); var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"verificando se o piloto id == {piloto.Id} existe na base de dados em memória"); if (_pilotoRepository.Existe(piloto.Id)) { _logger.LogWarning($"piloto id = {piloto.Id} já existe."); return(StatusCode(409, "já existe um piloto com este identificador")); } //[FromBody] - como o asp.net core vai receber os dados da requisição (nesse caso do corpo do json) // poderia ser de um formulário, etc _logger.LogInformation($"adicionando piloto id {piloto.Id}"); _pilotoRepository.Adicionar(piloto); _logger.LogInformation("piloto inseriu com sucesso!"); _logger.LogInformation("mapeando piloto inserido para piloto modelo"); var pilotoModeloRetorno = _mapper.Map <PilotoModelo>(piloto); //return Ok("adicionou"); _logger.LogInformation("retornando piloto modelo novo"); return(CreatedAtRoute("Obter", new { id = piloto.Id }, pilotoModeloRetorno)); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com suporte.")); } }