Para o caso da extensão através do ponto Antes devemos criar um endpoint REST que receba e retorne o mesmo contrato do payload do endpoint original.
O código da customização neste tutorial foi criado utilizando o Framework Spring Boot utilizando a linguagem Java e implantado na plataforma Heroku.
O endpoint que será interceptado será o createTarefa, que é responsável por inserir uma nova tarefa no aplicativo de referência.
Seu payload é a tarefa, que tem os seguintes campos:
java.lang.String titulo;
java.util.Date data;
java.lang.String description;
Codificando a extensão
O repositório com os fontes da extensão pode ser encontrado aqui: https://github.com/dev-senior-com-br/tutorial-pontos-de-extensao.
Clone o repositório com os fontes do tutorial em um repositório local.
Para isso digite o seguinte em seu prompt de comando:
Uma vez que o repositório foi clonado, abra o projeto no Eclispe.
Para isso, no Eclispe clique em File > Import > Maven > Existing Maven Projects.
Selecione a pasta do repositório e importe o projeto.
Descrição do projeto
O projeto é composto principalmente pelos seguintes arquivos:
No pacote br.com.senior.custom existem as classes:
- CreateTarefaCustomController tem a declaração do endpoint.
- Application é a classe main do projeto (a que será utilizada para execução).
- Tarefa é um “espelho” do payload recebido no endpoint createTarefa.
Na pasta src/main/resources o arquivo application.properties, contém as propriedades adicionais do projeto.
Nesse arquivo é necessário que esteja informada a porta das variáveis de ambiente (server.port).
Criar certificado (já existe no projeto, mas disponibilizamos caso deseje saber fazer)
Por questão de segurança, o SeniorX faz chamadas apenas de serviços SSL.
Abaixo estão os passos para criar um certificado para usarmos neste teste.
Abra o CMD e acesse a pasta /bin da sua instalação do JAVA e execute o comando:
Quando for solicitado para informar senhas, use sempre “senior” ou então altere o arquivo application.properties.
Ao final do processo, será criado o arquivo “certificado.jks” na pasta \bin do java.
Copie o arquivo para a pasta src/main/resources do projeto.
Implantando o projeto de customização no Heroku
Para implantar o projeto no Heroku siga o tutorial do link abaixo, à partir do tópico “Preparing a Spring Boot app for Heroku”, os passos relativos à criação do repositório git local para o projeto também podem ser ignorados:
https://devcenter.heroku.com/articles/deploying-spring-boot-apps-to-heroku
Após estes passos seu endpoint deve estar pronto para ser executado
Ao digitar
no prompt de comando o broswer deve abrir apresentando a mensagem “Customizacao da senior X platform!!”
Consulte a documentação oficial para implantar a extensão.