Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Duvidas do Curso Asp.Net Core 2.1 Miragndo API

Olá, galera assistir o curso Curso Asp.Net Core 2.1 Miragndo API mas ficou algumas duvidas:

1) Como consumir essa Web API em uma aplicação onde informar os paramentos necessário e o token exigido . 2) Realmente e necessário gerar esse token quando vai consumir um web service em uma aplicação ?

3)Para gerar o token na Web API e necessário ter um cadastro de usuário para vincular com token ?

4)Assistir o curso de Xamarin forms onde foi consumido um web service "https://aluracar.herokuapp.com/login" parar autenticar, então eu crei meu WEB API autenticar passando o paramentro pelo body para usar no lugar mas ficou a duvida e agora como usar ?

3 respostas

Fala, Wesley, boa tarde.

Vamos às respostas:

  1. Estou supondo que essa aplicação que irá consumir é uma aplicação .NET, certo? Nesse caso você vai usar a classe HttpClient. Mais detalhes nesse link. Spoiler: estou gravando a parte 2 desse curso onde dedico 2 aulas para isso ;-)

  2. Depende da estratégia de autenticação da API. No caso de nossa API a resposta é sim, precisamos obter um token e enviar a cada requisição.

  3. Novamente depende da estratégia de autenticação. No caso de nossa API estou usando o Identity tanto para cadastrar os usuários como para autenticar. Mas o cadastro poderia ser fornecido por terceiros como o facebook, google, etc.

  4. Não assisti o curso então não posso afirmar exatamente o que fazer. As informações que eu iria buscar seriam qual o retorno desse web service de login? É um json com um token? É um usuário? Como está sendo feito nas requisições do curso?

Me dá um feedback sobre se te ajudou a esclarecer.

const string url = "http://localhost:5000/"; using (var cliente = new HttpClient()) { cliente.BaseAddress = new Uri(url); var campos = new FormUrlEncodedContent(new[] { new KeyValuePair<string,string>("email",usu.Email), new KeyValuePair<string,string>("senha",usu.Senha ) });

            HttpResponseMessage result = null;
            try
            {
                result = await cliente.PostAsync("api/json/Login/Autenticar/", campos);     
            }
            catch
            {
                MessagingCenter.Send<LoginException>(new LoginException("Sem conexão com a internet, verifique e tente novamente."), "falhaLoginServidor");
            }
            if (result.IsSuccessStatusCode)
            {
                //pegando os dados do usuario
                var conteudo = await result.Content.ReadAsStringAsync();
                var usuario = JsonConvert.DeserializeObject<UsuarioJson>(conteudo);
                MessagingCenter.Send<Usuario>(usuario.Usuario, "sucessoLogin");
            }
            else
            {
                MessagingCenter.Send<LoginException>(new LoginException("Usuário/Senha incorretos!"), "falhaLogin");
            }
        }

Boa tarde, Daniel. Conforme suas aulas estou com APIWEB rodando, mas não estou consigo consumir ela nesse trecho de código

solução!

Wesley, qual erro está dando?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software