Rest Construa APIs inteligentes de maneira simples Casa do Codigo
Sumário
Sumário
1
2
3
Por que utilizar REST?
1
1.1
HTML tradicional versus REST . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Web services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.4
Desenvolvendo um protótipo de web service REST . . . . . . . . . . .
6
1.5
Avançando o protótipo de web service REST . . . . . . . . . . . . . .
9
1.6
Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
O protocolo HTTP
13
2.1
Os fundamentos do HTTP . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2
Métodos HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3
Tipos de passagem de parâmetros . . . . . . . . . . . . . . . . . . . . . 17
2.4
Cabeçalhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5
Media Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6
Códigos de status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7
Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Conceitos de REST
29
3.1
Semânticas de recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2
Interação por métodos . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3
Representações distintas . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4
Uso correto de status codes . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5
HATEOAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6
Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
31
i
Casa do Código
Sumário
4 Tipos de dados
4.1 XML . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Ferramental XML: conhecendo os XML Schemas
4.3 Trabalhando com XML utilizando JAXB . . . . .
4.4 Testando o XML gerado . . . . . . . . . . . . . . .