Welcome to Restful Web Services Tutorial in Java. O resto é o acrônimo para transferência de Estado representacional. REST é um estilo arquitetônico para desenvolver aplicações que podem ser acessadas através da rede. O estilo arquitetônico de descanso foi trazido à luz por Roy Fielding em sua tese de doutorado em 2000.
Restful Web Services
Restful Web Services is a stateless client-server architecture where web services are resources and can be identified by their URIs.,
REST Client applications can use HTTP GET / POST methods to invoke Restful web services. O REST não especifica nenhum protocolo específico para usar, mas em quase todos os casos é usado em HTTP/HTTPS. Em comparação com os serviços da SOAP web, estes são leves e não seguem qualquer padrão. Podemos usar XML, JSON, texto ou qualquer outro tipo de dados para solicitação e resposta.
Java RESTful Web Services API
Java API for RESTful Web Services (JAX-RS) é a API Java para criar REST web services., O JAX-R usa anotações para simplificar o desenvolvimento e a implantação de serviços web. O JAX-R faz parte do JDK, por isso não precisas de incluir nada para usar as anotações.
Restful Web Services Annotations
Some of the important JAX-RS annotations are:
-
@Path
: used to specify the relative path of class and methods. Podemos obter o URI de um webservice digitalizando o valor de anotação do caminho., -
@GET
@PUT
@POST
@DELETE
e@HEAD
: utilizada para especificar o tipo de solicitação HTTP para um método. - ,
@Consumes
: usado para especificar os tipos de pedido e resposta. -
@PathParam
: usado para ligar o parâmetro do método ao valor do caminho ao analisá-lo.
Restful Web Services and SOAP
- SOAP is a protocol whereas REST is an architectural style.,as aplicações SOAP server e client são estreitamente associadas e vinculadas ao contrato WSDL, enquanto que não há contrato em REST web services e cliente.a curva de aprendizagem é fácil de descansar quando comparada com os serviços da SOAP web.
- REST web services request and response types can be XML, JSON, text etc. enquanto o SOAP trabalha apenas com XML.JAX-RS é a API Java para serviços web REST, enquanto JAX-WS é a API Java para serviços web SOAP.
REST API Implementations
There are two major implementations of JAX-RS API.,Jersey: Jersey é a implementação de referência fornecida pela Sun. Por usarmos Jersey como implementação do JAX-RS, tudo o que precisamos para configurar o seu servlet na web.xml e adicionar as dependências necessárias. Note que a API do JAX-RS faz parte do JDK e não de Jersey, por isso temos de adicionar os frascos de dependência na nossa aplicação.RESTEasy: RESTEasy é o projeto JBoss que fornece a implementação do JAX-RS.
Java Restful Web Services Tutorial
Let’s see how easy to create Restful web service using Jersey and then RESTEasy., Vamos expor os seguintes métodos sobre HTTP e usar a extensão Chrome Postman para testar estes.,d>
Jersey Restful Web Services
Criar um dynamic web project e, em seguida, convertê-lo para o Maven para obter o esqueleto de seu web services do projeto., Abaixo a imagem mostra a estrutura do projeto final.
vamos olhar para as dependências de Jersey que temos em pom.ficheiro xml.
não somos obrigados a adicionar dependências do cliente de jersey, mas se você está escrevendo um programa java para invocar um serviço web REST usando Jersey, então ele é necessário.
agora vamos olhar para o descritor de implantação para aprender como configurar Jersey para criar a nossa aplicação web.
isso é tudo o que é necessário para plugin Jersey em nossa aplicação web, em nosso código java estaremos usando anotações JAX-RS., Observe o valor do parâmetro init com.sun.jersey.config.property.packages
para fornecer um pacote que será digitalizado para recursos e métodos do serviço web.
REST Example Model Classes
First of all we will create two model beans – Person
for our application data andResponse
for sending response to client systems. Uma vez que vamos enviar a resposta XML, os feijões devem ser anotados com @XmlRootElement
, por isso temos esta classe.,
REST Web Services Tutorial Services Services
Based on our URI structure, below is the service interface and it’s implementation code.
Restful Web Services Test
é isso. Nosso serviço web está pronto, basta exportá-lo como arquivo WAR e colocá-lo dentro do diretório Tomcat webapps ou implantá-lo em qualquer outro contêiner de sua escolha.
abaixo estão alguns dos testes realizados usando Postman chrome extension para este serviço web. Note que nós temos que fornecer valores de aceitação e conteúdo-Tipo Como “application/xml” no cabeçalho do pedido, como mostrado abaixo imagem.,
- getDummy
- adicionar
- get
- obtemtodos
- apagar
isso é tudo para a criação de web services usando Jersey JAX-RS execução. Como podem ver, a maior parte do código está a usar anotações do JAX-RS e Jersey está ligada através do descritor de implantação e dependências.,
RESTEasy RESTful Web Services Example
usaremos toda a lógica de negócios desenvolvida no projeto Jersey, mas ao invés de fazer alterações ao mesmo projeto, eu criei um novo projeto. Criar um projeto web dinâmico e convertê-lo para o projeto Maven. Em seguida, copie todas as classes java-pessoa, resposta, PersonService e PersonServiceImpl. Abaixo está o projeto final depois de terminarmos com todas as mudanças.
Add below RESTEasy dependencies in pom.ficheiro xml.
abaixo está a web.ficheiro xml onde estamos a configurar o Resteasy servlet.,
Observe que o init-param onde estão fornecendo MyApp
classe como valor, aqui estamos ampliando javax.ws.rs.core.Application
classe, como mostrado abaixo.
RESTEasy Web Services Test
é isso. O nosso serviço web está pronto com a implementação do RESTEasy JAX-RS. Abaixo estão alguns dos resultados do teste de extensão cromática do carteiro.,
- getDummy
- adicionar
- get
isso é tudo para Restful Web Services Tutorial, Eu espero que você aprendeu sobre JAX-RS anotações e compreendido os benefícios da API padrão que nos ajudou na reutilização de código e movendo-se de Jersey para RESTEasy tão fácil.