O documento discute APIs web e as diferenças entre SOAP e RESTful. Também explica como RESTful funciona usando verbos HTTP, URLs, URIs e padrões de resposta.
3. SOAP: Protocolo baseado em XML,
geralmente utilizado por aplicações em
Java.
RESTFul: Aplicações geralmente baseadas
em JSON e utilizada por diversas
linguagens.
SOAP x RESTful
5. Por volta de 2000, por Roy Fielding como
tese de doutorado.
Época em que, com a colaboração dos
colegas, estava escrevendo as
especificaçoes do HTTP 1.1.
Origem do REST
14. URI (recursos)
Recursos são coisas, tem nomes
específicos, mesmo que possam ser
tratados como abstrações.
Usar sempre substantivos para os recursos.
21. RMM
Nivel 0: nada implementado
Nivel 1: uso de recursos
Nivel 2: uso dos verbos HTTP corretamente
Nivel 3: Hipermídia
22. Respostas
O uso dos verbos aliado ao bom uso das
respostas do protocolo HTTP deixam a API
mais poderosa.
23. Respostas
- Tudo que envolva sucesso (HTTP 200)
- O que a aplicação diz que é erro : erro
do cliente (HTTP 400)
- Erros do servidor (HTTP 500)
24. Respostas
Exceções devem ser representadas pelos
códigos de erro corretos;
A mensagem de erro deve ser explicativa;
25. Respostas
Recomenda-se o uso de um código
específico para cada erro da aplicação;
Em desenvolvimento é recomendável
retornar link para a documentação.
26. Exemplo
{
"developerMessage" : "Mensagem bem
explicativa.",
"userMessage":"Mensagem de erro simples.",
"errorCode" : 12345,
"more info":
"http://dev.teachdogrest.com/errors/12345"
}