Web Services - Mr. Italo Giovani A. Stefani

Propaganda
Web Services
REST – JAX-RS
Curso de especialização em
DESENVOLVIMENTO DE
APLICAÇÕES WEB
Italo Giovani Stefani
[email protected]
www.italost.com
http://www.websemlimites.com.br/moodle
JAX-RS
• Java API for RESTful Web Service
• Definição dos padrões REST em Java
• Anotações baseadas em JSR-311
• Jersey é o pacote que implementa a definição JAX-RS
JAX-RS
• web.xml
• Define o servlet que irá analizar as requisições e selecionar a
classe Java e o método correto
• Análise leva em consideração as anotações dos métodos
JAX-RS
• web.xml
<servlet>
<servlet-name>ServletAdaptor</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletAdaptor</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
JAX-RS
• Annotations
Annotation
Descrição
@PATH(your_path)
Caminho para serviço e operação.
@POST
Método irá responder à uma requisição POST
@GET
Método irá responder à uma requisição GET
@PUT
Método irá responder à uma requisição PUT
@DELETE
Método irá responder à uma requisição DELETE
@Produces(type, [more-types])
MIME type retornado pelo método
@Consumes(type, [more-types]) MIME type esperado pelo método
@PathParam
Injeta valores da URL no parâmetro do método
JAX-RS
@Path("/hello")
public class HelloRest {
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/sayPlainTextHello")
public String sayPlainTextHello(){
return "Hello ItaloSt";
}
@GET
@Produces(MediaType.TEXT_HTML)
@Path("/sayHtmlHello")
public String sayHtmlHello(){
return "<html><title>Hello ItaloSt</title>"
+ "<body><h1>Hello ItaloSt</body></h1></html> ";
}
@GET
@Produces(MediaType.TEXT_XML)
@Path("/sayXmlHello")
public String sayXmlHello(){
return "<?xml version=\"1.0\"?>"
+ "<root><hello>Hello ItaloSt</hello></root>";
}
}
JAX-RS
http://localhost:8080/HelloRest/resources/hello/sayXmlHello
http://localhost:8080/HelloRest/resources/hello/sayPlainTextHello
http://localhost:8080/HelloRest/resources/hello/sayHtmlHello
Exemplo bem simples
• Criar novo projeto Web
Exemplo bem simples
• Criar novo projeto Web
Exemplo bem simples
• Importar bibliotecas JAX-RS e Jersey
Exemplo bem simples
• Criar novo pacote
Exemplo bem simples
• Criar nova classe
Exemplo bem simples
• Implementar classe
Exemplo bem simples
• Testando
Exercícios
• Implementar Pratica 01 em REST
(somente o server)
• Implementar Pratica 02 em REST
(somente o server)
Download