Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
JAX-RS
Configurar o ambiente
Exerccio
HttpRequester (Firefox)
DHC (Chrome)
JAX-RS
Objetivo
Descrio
Foco em POJOs
Independncia de
formato
Independncia de
container
@Path(/repositorio/{id})
Pode ser colocada na declarao de classe ou de um
mtodo e possui o elemento value obrigatrio
Por este elemento definimos o prefixo da URI que a classe
ou o mtodo ir atender
Aqui a URI relativa /repositorio/{id}, na qual {id} o valor
do parmetro id, fornecido junto a URI
Geralmente includa na declarao de um mtodo quando
queremos atribuir um caminho mais especfico para um
recurso, de forma a especializar nosso mtodo
@Produces
Especifica os tipos MIME que o mtodo produzir como
resposta para o cliente
@Consumes
Especificas os tipos MIME que o mtodo pode receber do
cliente
10
11
Extraindo Valores
Anotao
Descrio
@PathParam
@QueryParam
@FormParam
@MatrixParam
@CookieParam
@HeaderParam
12
13
Extraindo Valores
Algumas observaes:
Uma mesma varivel pode ser especificada mltiplas vezes
em uma anotao @Path.
Exemplo: @Path("/users/{nome}/{nome}")
Neste caso, s sero aceitas requisies a URLs cujos dois ltimos
componentes sejam iguais
15
17
Classes
@XmlRootElement
Indica que a classe ser representada como um elemento XML
principal
Pode alterar o nome do elemento atravs do valor name=
@XmlAccessorType(XmlAccessType.FIELD)
Indica a localizao das anotaes, no caso esto nos campos do
POJO
Classes
@XmlEnum(String.class)
Permite mapear uma classe enum com as devidas anotaes em
cada valor
Atributos
@XmlEnumValue(ACAO)
Mapeia um valor de um enum
@XmlElementWrapper
Mapeia um objeto do tipo lista (com tags filhas)
@XmlElement(name = "contrato")
Utilizada tanto nos atributos quanto nos mtodos, indica que o
atributo ser um atributo XML
19
Atributos
@XmlAttribute(name=num_cpf)
Mapeia o valor de um campo como atributo no arquivo XML
@XmlList
Permite mapear atributos como listas dentro de uma nica tag XML
@XmlSchemaType(name = "date")
Permite definir o mapeamento de diferentes tipos em Java
@XmlTransient
Permite definir que um atributo no ser utilizado nas aes de
serializao e deserializao de objetos
20
21
22
23
Exemplo WADL
Configurar o ambiente
24
Configurar o ambiente
Configurao de um
RESTful
web
service
Informar
aqui
o padro
de URL
ApplicationConfig.java
utilizada
25
Configurar o ambiente
26
Configurar o ambiente
27
28
Mtodo GET
Consumindo GET
Construtor do cliente
Consumo
29
Consumindo GET
Lista
30
31
Mtodo POST
32
Consumindo POST
33
Mtodo PUT
34
Consumindo PUT
35
Mtodo DELETE
36
Consumindo DELETE
Exerccio
Configurar o persistence.xml
37
Exerccio
38
estado: String
valor: Int
peso: Float
Perguntas?