Neste artigo vou mostrar como criar e consumir uma Web API ASP .NET em uma aplicação Xamarin Forms usando o HttpCliente com o Visual Studio 2015 e a linguagem C#. |
Esse é um artigo essencialmente prático que mostrar como criar , hospedar e consumir uma Web API ASP .NET em uma aplicação Xamarin Forms usando o HttpClient.
Para poder acompanhar o artigo você tem que ter noções de Web API, REST, HttpClient, Xamarin Forms. Eu não vou entrar em detalhes desses pré-requisitos mas vou deixar o link onde você vai poder acessar e se inteirar sobre o conteúdo exigido. Seguem abaixo os links:
Dessa forma, se você tem dúvidas sobre os requisitos mencionados, sugiro que leia os artigos acima.
Vamos dividir as tarefas que vamos realizar em 3 tópicos :
Criar uma Web API ASP .NET
Fazer o deploy do projeto
Criar uma aplicação Xamarin Forms para consumir a Web API
1 - Criando um Web API ASP .NET
A criação da WEB API ASP .NET pode ser vista neste artigo : ASP .NET Web API - Consumindo uma Web API em um ... - Macoratti
Basta ler somente a primeira parte onde criamos a Web API. Note que estamos criando um projeto separado usando o template Web API/MVC.
Esta Web API é quem vai expor os serviços para atualizar as informações dos Produtos que estaõ sendo representados pela classe Produto:
Produto.cs
public class Produto { public int Id { get; set; } public string Nome { get; set; } public string Categoria { get; set; } public decimal Preco { get; set; } } |
Para tornar o exemplo mais simples, não estou usando um banco de dados, mas, estou definindo os dados em um repositório, na classe ProdutoRepositorio, conforme mostrado no trecho de código a seguir:
ProdutoRepositorio.cs
..... private List<Produto> produtos = new List<Produto>(); private int _nextId = 1;
public ProdutoRepositorio() |
Dessa forma teremos uma lista de produtos em memória que poderemos consumir selecionando, alterando, incluindo e excluindo informações de produtos via Xamarin Forms.
2 - Fazer o deploy do projeto
Com a Web API pronta temos que publicar o projeto em um servidor de hospedagem para que possamos fazer o acesso remoto usando o HttpClient e assim consumir a web API.
Neste momento você pode publicar a web api em qualquer servidor com suporte hospedagem ASP .NET ou publicar na nuvem usando um serviço Azure, Amazon, etc...
Neste artigo eu vou usar o servidor de hospedagem gratuíta Somee.com.
A primeira coisa a fazer é acessar o site Somee.com e criar uma nova conta free. Para isso acesso site e clique em Free .Net Hosting :
A seguir clique no botão Order now para Free Hosting package :
Na próxima janela clique em : Checkout
Preencha o formulário para registrar sua conta fornecendo os seus dados e clique no botão Register new Account.
Você vai receber um número para confirmar o seu registro no seu email e deve informar esse número para concluir o processo de criação da conta.
Após concluir essa etapa com sucesso você terá acesso ao seu painel de controle que será usado para fazer o deploy da web api:
A seguir clique na guia WebSites e informe o nome do domínio que será usado para acessar o seu website o sistema operacional e a versão da ASP .NET que você vai usar.
Para o exemplo eu criei o subdominio: macwebapi.somee.com
Informe o título e a descrição e clique no botão - Create website. Pronto seu site esta pronto para receber o deploy do projeto Web API.
Vamos fazer o deploy do projeto web API para o site criado.
Antes vamos até a pasta onde criamos o projeto web api e vamos gerar um arquivo ZIP da pasta onde criamos a nossa solução.
No exemplo a web api foi criada na pasta WebApi2_Produtos e assim geramos o arquivo WebApi2_Produtos.zip contendo todos os arquivos da solução criada.
Este arquivo será enviado para o deploy no site.
Clique na opção File Manager para abrir a janela onde podemos enviar e gerenciar os arquivos.
A seguir clique em Selecionar arquivo e selecione o arquivo WebApi2_Produtos.zip e clique no link - Upload and Unzip archives :
Ao final do processo o arquivo será enviado para o servidor e descompactado. Neste momento você deverá mover os arquivos da pasta WeApi2_Produtos para a raiz do site de forma a obter o seguinte resultado no gerenciador de arquivos:
Nota: O procedimento feito nessa etapa pode variar, e vai depender de como você estruturou sua aplicação ASP .NET.
Agora basta digitar no navegador : macwebapi.somee.com/api/produtos para obter o retorno no formato JSON da nossa lista de produtos:
E assim estamos prontos para consumir a nossa web api que agora esta atendendo no servidor remoto.
Na próxima parte do artigo iremos criar a aplicação Xamarin Forms que vai consumir os serviços dessa Web API via HttpClient.
Pegue o projeto da web api aqui : WebApi2_Produtos.zip (sem as referências)
Todas as coisas são puras para os puros,
mas nada é puro para os contaminados e infiéis; antes o seu entendimento e
consciência estão contaminados.
Confessam que conhecem a Deus, mas negam-no com as obras, sendo abomináveis, e
desobedientes, e reprovados para toda a boa obra.
Tito 1:15,16
Referências:
https://developer.xamarin.com/api/type/Android.App.AlertDialog/
https://developer.android.com/reference/android/app/Activity.html
https://developer.xamarin.com/api/type/Android.Widget.ProgressBar/