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

  1. Login

    • Faça login usando username/senha -> admin/admin
  2. 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
  3. 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
  4. 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
  5. 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.