image

Hoje eu estou aqui para te informar e mostrar para não esquecer do [FromBody] dentro da sua API. Meu nome é Mauricio Junior e estou aqui dia a dia para te mostrar que programar é possível. Você pode transformar a sua vida na área profissional na área de programação. Você pode ver mais cursos no site ecode10.academy.

O [FromBody] é um comando essencial para que funcione a sua API e pode ser consumido por qualquer tipo de plataforma.

Imagem 1 - Mind map do consumo

Para te explicar da melhor maneira, eu participo de um projeto que tem um aplicativo que consome uma API publicada dentro do serviço da Microsoft chamado Azure. A API tem a controller, o service, o repository que consome do database.

Dentro da Controller os dados são recebidos com os parâmetros que precisam estar dentro do corpo usando Json. Para isso é necessário colocar FromBody. Para variar

[HttpPut]
[Route("api/users/register")]
public async Task<ActionResult<string>> DoesUserExist([FromBody] RegisterUserRequestApiModel request)
{
    try
    {
        //Error if request not sent
        if (request == null
            || string.IsNullOrWhiteSpace(request.FirstName)
            || string.IsNullOrWhiteSpace(request.LastName)
            || string.IsNullOrWhiteSpace(request.Email)
            || string.IsNullOrWhiteSpace(request.LoginId)
            || string.IsNullOrWhiteSpace(request.Customer.Number)
            || string.IsNullOrWhiteSpace(request.Customer.SalesOrganization.Code))
        {
            return GetExceptionResult(
                StatusCodes.Status400BadRequest,
                "First Name, Last Name, Email, Login Id, Customer Number, or Sales Organization not sent");
        }
        ...
    }
}

Código com FromBody

Note que o método possui na entrada o FromBody e ele precisa disso para receber os dados. Sem isso, os dados pode ser enviados mas não são recebidos pela API.

Espero que tenha entendido e qualquer dúvida pode entrar em contato.

Para saber mais eu tenho um curso que pode te ajudar falando sobre API neste link abaixo: https://ecode10.academy/index/category/3/name/backend