Api: Como ajudar seu time mobile a consumir uma api de forma mais rápida

Quando estamos em um projeto de Api onde mobile e backend; estão trabalhando em paralelo em uma determinada função, muitas vezes temos uma dúvida; “Preciso fazer minha camada de serviço, o que faço agora?”. Decidiu testar o upload de um serviço no Steam; que retornaria uma resposta simulada para nossos desenvolvedores usarem.

E como disponibilizar essa Api de forma rápida e funcional?

Vamos usar o serviço Heroku Api. Existem planos gratuitos disponíveis e temos independência de implantação.

A primeira coisa que precisamos fazer é visitar o site do heroku: https://www.heroku.com e criar uma nova conta.

Feito isso, vamos instalar a CLI do Heroku em sua máquina com o seguinte comando:

Criando seu projeto Vapor

Aproveito para apresentar uma mini biblioteca que estou desenvolvendo; para escrever HTML com o jumper Swift.

Escolha uma pasta raiz para seu projeto e execute os seguintes comandos;

Se tudo correu bem, você deve obter a saída no terminal.

Acesse a pasta do projeto:

Escolha o editor de sua preferência e vamos editar o arquivo Package.swift;

Vamos precisar de duas dependências Leaf e jumper;

Seu Package.swift deve ficar assim:

Agora você pode abrir o Package.swift com o Xcode (caso não tenha editado o arquivo com ele).

Aguarde o Xcode baixar as dependências no projeto.

Quando o Xcode terminar de configurar, ele deverá mostrar Scheme > MyMac. Agora estamos prontos.

Primeira coisa; Crie um arquivo LinuxMain.swift na pasta Tests; pois esse arquivo é necessário para o ambiente linux durante a implantação.

O conteúdo dele é esse:

Lembre de editá-lo quando adicionar novas folhas de teste.

Configurando Leaf e jumpper

Vamos configurar o projeto para que possamos usar Leaf e jumpers.

Abra o arquivo configure.swift.

Remova o comentário da linha 6 e adicione a configuração Leaf.

Criando pasta publica para css

Para deixar a cara do Hello um pouco mais amigável, vamos usar um css simples e funcional. Eu recomendo esta biblioteca miligram.io

Faça o download para o seu computador.

No projeto, crie uma pasta chamada Public no diretório raiz do projeto.

Agora na pasta pública vamos adicionar uma nova pasta chamada estilos

Nele, vamos mover os arquivos miligrama.min.css e miligrama.min.css.map, sua pasta deve ficar assim:

Vamos editar nosso index.leaf para usar nossos estilos. Está na pasta Resources > Views > index.leaf

O Steam vê a pasta Pública, então apenas aponte para o caminho na pasta de estilos

Nosso objetivo agora é criar um Hello usando o Leaf e o jumper.

Abra o arquivo routes.swift

Vou explicar de uma forma bem simples ok? Mas o ideal é que exista um arquivo para essa visualização e configuração de roteamento.

Abaixo das Importações do Steam, adicionaremos duas novas importações:

Vamos editar a func routes e deixar ela assim:

Pronto =D basta rodar seu projeto e abrir seu navegador. Ao final você deve ter uma página igual a essa:

Erros comuns

Porque não configuramos um diretório de trabalho personalizado nem criamos um projeto Xcode.

Se você encontrar esses problemas ao executar seu projeto via Xcode; use a seguinte linha via Terminal diretamente na pasta do seu projeto.

Criando repositório no Git para a Api

Vamos criar um novo repositório no GitHub para acompanhar nossas alterações.

Acesse: https://github.com/new e crie um novo repositório. (Sim, pode ser privado). Seguindo as diretrizes do GitHub, faça seu primeiro commit e envie para main.

NOTA: Quando você cria um projeto com o steam ele já adiciona o arquivo .gitignore e inicia o git no projeto; então basta adicionar uma fonte remota ou enviar um repositório existente a partir da parte da linha de comando do git local mostrado em

Neste ponto, você pode fazer seu primeiro commit e enviar para o branch master.

Heroku Deploy Api

Com esta configuração do Git pronta, podemos iniciar a parte do Heroku. Após criar sua conta e instalar a CLI em seu computador, siga a sequência de comandos abaixo:

Fazer login no heroku
heroku login

Quando aparecer a pergunta:

heroku: Press any key to open up the browser to login or q to exit:
Aperte enter(return), o navegador vai abrir e você deverá fazer login com suas credenciais.

Logging in… done
Logged in as myemail@mydomain.com

Agora vamos criar projeto no heroku

heroku create hellojumpper

 

Você receberá uma saída similar a essa:

 

Saída da Api:

set git remote heroku to https://git.heroku.com/hellojumpper.git
Adicione os buildpacks no projeto
heroku buildpacks:set vapor/vapor

Saída da Api:

Buildpack set. Next release on hellojumpper will use vapor/vapor.
Run git push heroku main to create a new release using this buildpack.
Para finalizar precisamos adicionar um arquivo de processos no projeto para que o após o deploy o serviço já inicie:

Crie um arquivo vim Api Procfile

Adicionar esta linha no arquivo:
web: Run serve --env production --hostname 0.0.0.0 --port $PORT.
Agora vamos comitar o arquivo.
git add Procfile.
git commit -m "Adicionando Procfile".
Suba seu commit.
git push origin main.
E faça o deploy para o Heroku.
git push heroku main.

Seu Api deploy começa a rodar:

O processo leva alguns minutos, dependendo do tamanho do projeto. Aguarde a conclusão do processo.

Quando você obtém essa saída no terminal, o processo de implantação está concluído.

e tenha seu projeto Api pronto para rodar no link criado no meu caso: https://hellojumpper.herokuapp.com/.

No próximo artigo, vamos construir uma rota simples que retorna uma lista de bancos brasileiros.

Espero que este artigo seja de valor para o seu trabalho.