Exemplo de aplicação para salvar links, onde a interface utiliza AngularJS + Twitter Bootstrap e o lado do servidor utilizado o Jersey integrado com o Spring para disponibilizar um serviço de dados RESTful. A comunicação entre o frontend e o backend é realizada com as informações serializadas em JSON.
$ git clone https://github.com/erkobridee/restful-bookmarks-jerseyspring.git
$ cd restful-bookmarks-jerseyspring/
O projeto disponibilizado no github, não possui nenhum arquivo de projeto referente ao Eclipse.
Execute os comandos a seguir dentro do diretório do projeto:
-
Execute os comandos em sequência:
mvn compile
mvn eclipse:eclipse
-
Importe o projeto no Eclipse
Atenção: (caso não esteja utilizando o plugin do Maven no Eclipse)
É necessário ter a variável M2_REPO configurada nas variáveis do ClassPath, apontando para o diretório do .m2/repository do Maven Lembre-se também de ter adicionado o Apache Tomcat 6.x ao Runtime Environments nas preferencias do seu Eclipse
-
Gerar o .war do projeto
mvn clean install
-
Executar o projeto diretamente pelo Maven:
mvn jetty:run
Acesse a aplicação na URL:
http://localhost:9090
MIT : erkobridee.mit-license.org
-
Ambiente de desenvolvimento
-
Maven 3
-
Eclipse Juno JEE
-
Apache Tomcat 6.x
-
Java 1.6+
-
-
Cliente
-
AngularJS 1.2.1
-
Twitter Bootstrap 3.0.2
-
-
Servidor
Quanto as versões no Servidor: Verificar o arquivo pom.xml
Um projeto que auxiliou neste projeto foi o Wine Cellar Java, que é um exemplo de uso do Jersey em uma webapp Java. Além do post do Christophe Coenraets - Sample Application with Angular.js e Using Backbone.js with a RESTful Java Back-End.
A definição do método a ser executado é definido no cabeçalho da requisição enviada para o servidor.
-
GET - recupera 1 ou mais bookmarks
-
.../rest/bookmarks/ - lista todos os bookmarks | suporte para paginação
?page=${num}&size=${length}
-
.../rest/bookmarks/{id} - retorna o respectivo bookmark pelo seu ID
-
.../rest/bookmarks/search/{name} - retorna uma lista dos bookmarks que contém o respectivo nome | suporte para paginação
?page=${num}&size=${length}
-
-
POST - insere um novo bookmark
- .../rest/bookmarks/ - enviado no corpo da requisição
-
PUT - atualiza um bookmark existente
- .../rest/bookmarks/{id} - enviado no corpo da requisição
-
DELETE - remove 1 bookmark pelo ID
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-webapp \
-Dversion=1.0 \
-DgroupId=com.erkobridee.restful.bookmarks.jerseyspring \
-DartifactId=restful-bookmarks-jerseyspring