apis gerenciadas de ponta a ponta - construção

Post on 01-Jul-2015

130 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Guia com passo a passo para criar um Google App Engine Cloud Endpoint RESTful.

TRANSCRIPT

Criando um Google App Engine Cloud Endpoint RESTful

 

Autores: Fábio Rosato ­ fabio.rosato@sensedia.com ­ @frosato José Vahl ­ jose.vahl@sensedia.com ­ @josevahl 

Documentação disponível em:

http://goo.gl/vZEo6v 

Premissas  As ferramentas utilizadas no cursos são as seguintes, com os respectivos links para download: 

● Java 7+ ○ http://www.oracle.com/technetwork/java/javase/downloads/index.html 

● Eclipse IDE for Java EE Developers ○ https://www.eclipse.org/downloads/ 

● Google Plugin for Eclipse ○ https://developers.google.com/eclipse/ 

● Postman ou SoapUI ○ http://www.getpostman.com/ ○ http://www.soapui.org/ 

 Além disso é imprescíndivel ter uma conta Google para a realização do deploy da aplicação ou endpoint no Google App Engine. A conta deve estar configuração no no Google Eclipse Plugin.  

Criando um projeto Google App Engine  Clique em File => New => Other… para criar um projeto do tipo Web Application Project.  

  Selecione no Wizard o tipo de projeto Google Web Application Project. 

 

Dê um nome para o projeto no campo “Project Name” e inclua o nome base do pacote dos códigos­fontes no campo “Package”. Depois clique em “Finish”. 

  

    

Abaixo a estrutura do projeto ComidaBoteco criada: 

  Agora vamos criar as entidades que serão os recursos da nossa API. Vamos utilizar uma classe de entidade para Restaurantes e outra para Pratos. 

 

Abaixo os atributos e utilizados no recurso Restaurantes.  

  

  

Abaixo os atributos do recurso Pratos.  

  

Isto é tudo que precisamos para persistir no lado do servidor os objetos Restauntes e Pratos. Agora vamos utilizar um gerador de código que vem com o Google Eclipse Plugin para criar um appengine cloud endpoint.  Clique com o botão direto sobre a classe e selecione "Create Cloud Endpoint Class" (tal como na imagem abaixo).  Vamos fazer isso para a entidade Restaurantes...  

 

  

… e depois para a entidade Pratos.  

  

O plugin criou três arquivos. Um para o lado da persistência dos dados (EMF.java), outro que expõe as operações CRUD da classe Restaurantes (RestaurantesEndpoint.java) e outro para Pratos (RestaurantesEndpoint.java).  Isto é tudo pessoal! Vamos iniciar a e acessar localmente a API.  

Execução local da API  Execute o projeto como “Web Application” e será iniciado um servidor AppEngine local.  

  Pronto sua API já está disponível localmente.  

Acessando a API  Existem um número de APIs expostas pelo appengine, e elas estão rodando sobre a URL _ah/api.  Vamos acessar o Discovery API, acessível via:  http://localhost:8888/_ah/api/discovery/v1/apis  

 

 Esta é a lista de todas REST APIsThis espostas pelo noso servidor. Existem duas APIs, a RestaurantesEndpoint e a PratosEndpoint. Nós podemos navegar nelas nos links abaixo:  http://localhost:8888/_ah/api/discovery/v1/apis/restaurantesendpoint/v1/rest  (referenciado pelo campo "discoveryLink".  Que retorna um host de informações sobre o endpoint da API de Restaurantes... 

 

...e http://localhost:8888/_ah/api/discovery/v1/apis/pratosendpoint/v1/rest  

  Nós podemos testar as APIs utilizando o Postman ou SoapUI. 

Deploy da API  Agora vamos realizar o deploy da aplicação na cloud do Google. Com o projeto selecionado clique no ícone do Google, conforme a imagem abaixo e selelecione a opção “Deploy to App Engine…”  

  Se você tentar fazer deploy irá receber o seguinte erro:  

  

 

O erro ocorre, pois precisamos criar um aplicação no Google App Engine para termos um Application ID. Para criar a aplicação acesse o link: https://appengine.google.com/ e crie uma aplicação com o mesmo Application ID definido nas configurações da aplicação, clicando no botão “Create Application”.  

  Preencha os campos “Application Identifier” e “Application Title”. O Application Identifier é que iremos utilizar no Google Eclipse Plugin para referenciar a aplicação na cloud e realizarmos o deploy.  

  Se tudo correu bem você receberá a seguinte mensagem: 

  

Voltando no Eclipse, clique em “App Engine Project Settings…” e preencha o campo “Application ID” com o valor que você utilizou para o popular o campo “Application Identifier”.  

  Agora está tudo ok para a realização do deploy. 

   

A aplicação será compilada, otimizada, entregue e inicializada no Google App Engine.  As URLs dos recursos na cloud ficam: 

● https://1­dot­comida­boteco.appspot.com/_ah/api/restaurantesendpoint/v1/restaurantes ● https://1­dot­comida­boteco.appspot.com/_ah/api/pratosendpoint/v1/pratos 

 A lista completa de operações são:  Restaurantes 

● obter um restaurante => GET: /restaurantes/{nome} ● inserir um restaurante => POST: /restaurantes/ ● lista de restaurantes => GET: /restaurantes/ ● excluir um restaurante => DELETE: /restaurantes/{nome} ● atualizar um restaurante => PUT: /restaurantes/{nome} 

 

Pratos ● obter um restaurante => GET: /pratos/{nome} ● inserir um prato => POST: /pratos/ ● lista de pratos => GET: /pratos/ ● excluir um prato => DELETE: /pratos/{nome} ● atualizar um prato => PUT: /pratos/{nome} 

 Você pode utilizar e testar os endpoints com a linha de comando CURL ou Postman ou o SOAPUI. 

top related