Pauta
Introduo
O que REST
Fundamentos REST
Introduo
Fornecimento de Servio
O que REST?
Como funciona?
Entendendo melhor
(GET)
Vamos imaginar um exemplo de um servio de bookmark, onde o usurio pode guardar seus links favoritos
Para recuperarmos a lista de todos os bookmarks, pensando segundo filosofia REST, teramos que utilizar
o mtodo HTTP GET na URL que representa a lista. Por exemplo: GET
http://mybookmarks.com.br/bookmarks
A resposta seria algo do tipo:
<bookmarks>
<bookmark>
<id>1</id>
<title>Google</title>
<url>http://google.com</url>
</bookmark>
<bookmark></bookmark>
</bookmarks>
Entendo melhor
(retorno XML)
...Entendendo melhor
(retorno especfico)
GET http://mybookmarks.com/bookmarks/13
ou
GET http://mybookmarks.com/bookmarks?id=13
Entendendo melhor
(POST)
POST http://mybookmarks.com/bookmarks
Entendendo melhor
(PUT e DELETE)
PUT http://mybookmarks.com/bookmarks/1
DELETE http://mybookmarks.com/bookmarks/
Formao JAVA WS 40h Edjalma Queiroz, Msc
10
Especificao JAX-RS
(Java API for RESTful Web Services)
11
Implementao da Especificao
(Jersey)
Existem outras implementaes:
12
Exemplo prtico
(A famosa Agenda de Contatos)
13
Configurando o ambiente de
Desenvolvimento
contacts-api: Projeto Java simples que ir conter os tipos bsicos (beans) utilizados pelo nosso servio;
contacts: Projeto web que far uso das bibliotecas do Jersey para criar o servio REST. Esse o nosso
principal projeto, pois tratar do servio em si. Nele definiremos os mtodos que o servio ir oferecer, os
tipos de dados trafegados nas requisies, bem como o formato de URL que o servio utilizar;
contacts-html-client: Projeto web que conter a interface grfica HTML + JavaScript. Com esse projeto
teremos um cliente visual, no Java, para o nosso servio;
contacts-client: Projeto Java simples que servir para testar a API cliente da JAX-RS por meio do
console. Nesse projeto veremos como chamar nosso servio a partir de uma aplicao Java.
14
Projeto contact-api
Para criar esse projeto, utilize a opo File > New > Other...
do Eclipse e selecione Maven > Maven Project. Em
seguida, escolha o arqutipo maven-archetype-quickstart.
Digite br.com.senai no campo Group ID, contacts-api em
Artifact Id e clique em Finish para criar o projeto. Feito isso,
no ser necessria nenhuma alterao no arquivo
pom.xml do mesmo, uma vez que este no ter nenhuma
dependncia de biblioteca adicional ou framework.
Ver classes do projeto no material de apoio
Formao JAVA WS 40h Edjalma Queiroz, Msc
15
O projeto Contacts
Agora sim vamos criar nosso servio REST. Para isso, ser preciso criar um projeto web utilizando o plugin
do Maven. Sendo assim, escolha a opo File > New > Other... e selecione Maven > Maven Project. Desta
vez escolha o arqutipo maven-arquetype-webapp. Digite br.com.senai no campo Group ID, contacts em
Artifact Id e clique em Finish para criar o projeto.
Uma vez com o projeto criado, preciso indicar ao Maven as dependncias que utilizaremos. Nesse caso,
iremos adicionar uma dependncia para o nosso projeto contacts-api, para enxergarmos os beans que
criamos, assim como para as classes do Jersey. Portanto, iremos alterar a seo <dependencies> do
arquivo pom.xml de acordo com o contedo mostrado no material de apoio.
Como podemos observar, a primeira dependncia da verso 0.0.1-SNAPSHOT do projeto contacts-api, ou
seja, do projeto que criamos com os beans da aplicao. Em seguida temos duas dependncias do Jersey.
Uma do servlet responsvel por tratar as requisies e mape-las nos mtodos da nossa classe de servio, que
criaremos em breve, de acordo com a abordagem REST;
16
Modelo
17
O projeto de contacts-prime-client
18
19
20
Exercicios Prticos
21