a Primavera é uma das mais amplamente utilizado Java EE quadros. Já vimos anteriormente como usar o MVC Spring para criar aplicações web baseadas em Java. Hoje vamos aprender a criar serviços web repousantes Primavera usando MVC Primavera e, em seguida, testá-lo com o resto cliente. No final, também vamos ver como invocar o serviço Web repousante Spring usando a API RestTemplate Spring.,
Primavera RESTO
Vamos usar a Primavera mais recente versão 4.0.0.Libere e utilize Spring Jackson JSON integration para enviar a resposta JSON na resposta da chamada de descanso. O tutorial é desenvolvido na Spring STS IDE para criar o código esqueleto MVC Spring facilmente e, em seguida, estendido para implementar arquitetura repousante.
crie um novo projeto de Mvc de primavera na STS, o nosso projeto final se parecerá com a imagem abaixo. Vamos analisar cada um dos componentes, um a um.,
Spring REST Configuration XML Files
Our pom.o ficheiro xml parece-se com o que está em baixo.
STS ferramenta gera o pom.ficheiro xml para nós. No entanto, eu atualizei o Framework de Primavera, AspectJ, SLF4J e Jackson para a versão mais recente a partir de hoje. A maior parte da parte é comum e gerada automaticamente, o ponto importante a notar é que eu adicionei bibliotecas Jackson JSON na dependência porque nós usaremos isso para converter objetos para JSON e vice-versa.,
Este arquivo é gerado automaticamente e eu não mudei nada nisso. No entanto, se você quiser mudar arquivos de configuração de contexto e sua localização, você pode fazê-lo na web.ficheiro xml.
Este arquivo contém os recursos compartilhados que serão visíveis para todos os Componentes da web, estaremos desenvolvendo um serviço de descanso simples e é por isso que eu não mudei nada aqui.
A maior parte da peça é gerada automaticamente e contém configurações de placa de caldeira., No entanto, pontos importantes a serem observados são anotação orientada ao elemento de suporte de anotações com configuração e ligar MappingJackson2HttpMessageConverter
RequestMappingHandlerAdapter
messageConverters
assim que Jackson API chutes e converte JSON para Java Beans e vice-versa. Ao ter esta configuração, estaremos usando JSON no corpo de pedido e receberemos dados JSON na resposta.
classes de modelos de repouso Primavera
vamos escrever uma classe de POJO simples que servirá como entrada e saída para os nossos métodos Restful web service.,
O único ponto importante a ser observado é o uso de @JsonSerialize
anotação para usar DateSerializer
classe para a Data de conversão de tipo Java no formato JSON e vice-versa.
Spring Restful web service End Points
teremos os seguintes endpoints rest web services.
Sl.,armazenamento de dados | |||
---|---|---|---|
2 | /resto/emp/{id} | GET | Para obter o objeto de Funcionário com base no id |
3 | /resto/emps | GET | Para obter a lista de todos os Empregados no armazenamento de dados |
4 | /descanso/emp/criar | POST | Para criar o objeto de Funcionário e armazená-lo |
5 | /resto/emp/eliminar/{id} | COLOQUE | Para excluir o Funcionário objeto de armazenamento de dados com base no id |
temos uma classe de definição de todas essas URI como constantes de Seqüência de caracteres.,
Spring Restful web service Controller class
nossa classe EmployeeController irá publicar todos os endpoints de serviço web mencionados acima. Vamos olhar para o código da classe e então vamos aprender sobre cada um dos métodos em detalhes.
Por simplicidade, estou armazenando todos os dados do empregado na hashmap empData. A anotação @RequestMapping é usada para mapear o URI do pedido para o método do manipulador. Também podemos especificar o método HTTP que deve ser usado pela aplicação cliente para invocar o método rest.,
@anotação do corpo de resposta é usada para mapear o objeto de resposta no corpo de resposta. Uma vez que o objeto de resposta é devolvido pelo método handler, MappingJackson2HttpMessageConverter chuta e converte-o para JSON response.
@PathVariable annotation is the easy way to extract the data from the rest URI and map it to the method argument.
@RequestBody a anotação é usada para mapear os dados do corpo do pedido JSON no objeto do empregado, mais uma vez isto é feito pelo mappingjackson2httpmessageconverter mapping.,
O resto do código é simples e auto-entendido, nossa aplicação está pronta para implantação e teste. Basta exportar como arquivo WAR e copiá-lo no servlet container Web App directory. Se você tiver o servidor configurado no STS, você pode simplesmente executá-lo no servidor para que ele seja implantado.
I am using WizTools RestClient to invoke the rest calls but you can also use Chrome extension Postman.
abaixo screenshots mostra as diferentes invocações das outras APIs expostas pela nossa aplicação e sua saída.,
Health Check-Get Dummy Employee Rest Call
Create Employee POST Rest Call: Make sure request Content-Type is set to” application/json ” otherwise you will get HTTP Error Code 415.,
Funcionário Resto Chamada
Excluir Funcionário Resto Chamada
Todos os Funcionários Resto Chamada
Primavera Resto Client Program
Resto Clientes são bons para testar o nosso serviço web rest, mas na maioria das vezes, precisamos invocar o resto serviços através do nosso programa. Podemos usar a mola RestTemplate
para invocar estes métodos facilmente. Abaixo está um programa simples que invoca nossos métodos de repouso de aplicação usando a API RestTemplate.,
a Maioria do programa é simples de entender, no entanto, ao invocar o resto método retornar uma Coleção, precisamos usar LinkedHashMap
porque JSON para o objeto de conversão não sabe sobre o objeto de Funcionário e converte-lo para a coleção de LinkedHashMap
. Nós podemos escrever um método utilitário para converter de LinkedHashMap
para o nosso objeto de feijão Java.
quando executamos o programa acima, obtemos a seguinte saída na consola.,
outro ponto é que RestTemplate
put methods não tem opção para definir o objeto de resposta porque o método PUT deve ser usado para armazenar algo no servidor e um código de estado HTTP 200 simples deve ser suficiente.
isso é tudo para o tutorial de Aplicação Web RestFul Spring. Baixe o projeto de amostra do link acima e jogue com ele para saber mais.,
UPDATE: devido a tantos pedidos para fornecer exemplo semelhante com XML, bem como suportar tanto XML e JSON, eu estendi esta aplicação no exemplo JSON de Spring REST XML para suportar tanto pedidos XML e JSON e resposta. Sugiro-lhe vivamente que passe por isso para ver a beleza do quadro da primavera e como é fácil conseguir isso.