TransWikia.com

API REST Consultando outra API

Stack Overflow em Português Asked by Letícia Helena on January 13, 2021

Preciso fazer uma API REST, que consultasse dados de uma API em nuvem, e retornasse no app em formato json, porém, mesmo com muita pesquisa, não achei nada parecido, eu só queria saber como eu poderia fazer para que a API REST que eu for criar acesse os dados que já estão nessa API na nuvem.

Ps: estou fazendo a API em .Net Core

One Answer

Sua pergunta é meio vaga, mas vou exemplificar uma forma de fazer isso, no exemplo vou supor que você consegue se conectar e consumir essa API em nuvem já que não citou ter dúvidas nisso.

Resumidamente basta criar um método normalmente na sua API, e dentro desse método você faz a requisição na API desejada. Se tiver parâmetros passe aos parâmetros para sua API e depois utilize eles na chamada da API em Nuvem.

Você criaria um método como esse na sua API:

    private object GravarLogAPI(string mensagem)
    {
        var client = new HttpClient();
        try
        {
            var dados = JsonConvert.SerializeObject(mensagem);
            var request = new HttpRequestMessage(HttpMethod.Post, this.strUrlEnderecoAPI);
            request.Headers.Add("Accept", "application/json");
            request.Content = new StringContent(
                dados.ToString(),
                Encoding.UTF8,
                "application/json"
            );
            var response = client.SendAsync(request).Result;
            var result = response.Content.ReadAsStringAsync().Result;
            return JsonConvert.DeserializeObject<object>(result);
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            client.Dispose();
        }
    }

Importante você trocar o this.strUrlEnderecoAPI pelo endereço da sua API em nuvem. Importante também que nesse exemplo faço um post e recebo um resultado, você não disse qual método HTTP você precisa chamar, mas caso precise fazer um get é só trocar o post pelo GET.

Answered by Rafael Campolina on January 13, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP