Desafio QCon São Paulo 2018 - getheimdall/heimdall GitHub Wiki
Esse é um tutorial para a desafio oferecido na QConSP 2018. Complete o desafio para ganhar prêmios!
Caso esteja com pressa, dê uma olhada na sessão 6 ;)
Início
Para a QConSP 2018 a Conductor Tecnologia disponibilizou uma demostração do orquestrador de API's, o Heimdall. Todo o desafio será feito a partir dessa página.
Visite a página http://demo.getheimdall.io/
1. Login
Na página inicial faça o login usando as credenciais abaixo.
- Username: admin
- Password: admin
2. Criando uma API
Ao fazer o login você é apresentado com a página principal do Heimdall. Nela está uma lista com todas as API's cadastradas. O menu na lateral esquerda da tela mostra os principais recursos oferecidos. Você pode usar a seta no canto inferior esquerdo para expandir o menu e ter uma descrição melhor do que é cada um dos símbolos.
Nesse momento vamos focar na criação de uma API. Para tal tenha certeza que você está na sessão de API's. No canto inferior direito está o botão para adicionar uma nova API (Add new API). Ao clicar nesse botão você é redirecionado para a página de criação de API. Nessa página você vai definir o nome, versão, descrição e basepath da sua API (lembre-se desse valor do basepath, ele vai ser importante para chegar ao resultado). Você também pode definir o Status da sua API, como estamos cadastrando uma API que vamos querer testar, deixe o Status "ativo". Nesse ponto você também deverá escolher um Environment par vincular a sua API. Para o desafio da QConSP 2018 um Environment padrão já está cadastrado.
Ao preencher todos os campos e selecionar o Environment, clique no botão de salvar (Save.) Uma mensagem de sucesso deve aparecer e você será redirecionado para a listagem de API's, com a sua nova API sendo mostrada.
3. Criando um Resource
Agora que temos uma API criada, vamos criar um Resource para essa API.
Selecione a API que você criou clicando na lupa (View). Você será redirecionado para uma página com o resumo da sua API. Nessa página você pode alterar os valores que você usou na criação e adicionar novas funcionalidades à sua API. Agora não precisamos alterar nada vamos direto para a criação de um novo Resource.
Ao clicar na aba "Resources" a mensagem You don't have resources in this API deve aparecer, e ao lado está o botão para adicionar um novo Resource. O painel de configurações que vai aparecer permite que você defina o nome para o Resource e uma descrição opcional. Ao preencher os campos e salvar o novo Resource irá aparecer na listagem.
Qualquer resource pode ser removido ou alterado utilizando os botões na direta.
4. Criando uma Operation
Um Operation é sempre criado dentro de um Resource. Para criar uma nova Operation clique no nome do novo Resource que você criou para expandir e adicionar uma nova Operation.
No painel de configurações que irá aparecer você deve escolher o método HTTP (Method) que será utilizado e o caminho para a Operation (Path). Uma descrição opcional também pode ser adicionada.
Para esse desafio selecione o método GET e defina um path (lembre-se desse valor do path, ele vai ser importante para chegar ao resultado). Salve sua Operation que você será redirecionado de volta para listagem de Resources, mas agora com a sua nova Operation criada.
5. Criar um Interceptor
Com a Operation cadastrada podemos cadastrar um Interceptor para ela. Para isso vá até a aba Interceptors. Para adicionar um Interceptor primeiro é necessário escolher o Resource que será vinculado ao Interceptor. Selecione o Resource que foi criado no passo 3. Você pode também escolher em quais Operations você quer que o Interceptor opere. No nosso caso podemos selecionar o Operation que acabamos de criar ou deixar em "All" já que temos apenas um Operation cadastrado.
A lista de Interceptor é interativa. Para adicionar um Request ou Response basta arrastar algum dos Interceptors para a área definida.
Para o desafio vamos usar o Interceptor "MOCK". Clique e arraste o Interceptor MOCK para a área de "Request" e o painel de configurações irá aparecer. Aqui preencha o nome do Interceptor que é obrigatório, a é descrição opcional. O ciclo de vida que queremos é o de Operation. No Content podemos modificar o texto referente ao body para uma mensagem personalizada. Substitua o texto "Example Mock" com uma mensagem que você queira mostrar como "Heimdall rocks", por exemplo. Deixe o status como 200 e salve.
Importante: nesse momento o Interceptor ainda não está criado ainda. Para salvar o Interceptor vá ao final da página e clique em "Save Changes".
6. TL;DR
-
Login
- Faça login usando username/senha -> admin/admin
-
Criando API
- Clique em Add new API e preencha todos os campos
- Lembre-se do basepath, ele é importante para o teste do seu trabalho
- O Environment já está cadastrado para a QConSP 2018
-
Criando um Resource
- Na lista de API clique na API que você criou
- Clique na aba Resource
- Clique em Add new Resource
- Coloque um nome e salve
-
Criando um Operation
- Clique em Add Operation
- Selecione o Method GET
- Defina um path e lembre-se dele, ele é importante para o teste do seu trabalho
- Salve o Operation
-
Criando um Interceptor
- Clique na aba Interceptors
- Escolha o Resource que você criou
- Escolha o Operation que você criou
- Arraste o Interceptor "MOCK" para a área marcada como "Request"
- Defina um nome
- No "Content" modifique o texto "Example mock" para uma mensagem personalizada
- Salve o Interceptor
- Vá ao final da págína e clique em Save Changes
7. Testando seu trabalho
Vamos testar o seu trabalho. Para isso vamos precisar de duas informações que você criou no processo.
- basepath - é basepath que você setou na sua API
- path - é o path do Operation que você criou
Para testar abra uma nova aba no browser e visite o site https://gateway.getheimdall.io/basepath/path/ substituindo os valores que você criou.
Exemplo:
Caso os valores setados tenha sido:
- basepath = qcontest
- path = mockoperation
Então o seu teste será: https://gateway.getheimdall.io/qcontest/mockoperation/
8. Agradecimento
Obrigado por participar dessa demostração. Divirta-se na conferência e visite http://getheimdall.io para utilizar o Heimdall no seus projetos futuros.