From 9a8f179b1b916a30905937150ad1d253edebf709 Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Sun, 1 Jun 2014 10:39:38 -0300 Subject: [PATCH] more rest --- _images/Luke-Derp.jpg | Bin 0 -> 26042 bytes rest/rest.pin | 118 +++++++++++++++++++++++++++++------------- 2 files changed, 83 insertions(+), 35 deletions(-) create mode 100644 _images/Luke-Derp.jpg diff --git a/_images/Luke-Derp.jpg b/_images/Luke-Derp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bad193714eacc9628d65654e6a89ae47115ce86d GIT binary patch literal 26042 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 L0QVZJ>+%2Dk9`Ut literal 0 HcmV?d00001 diff --git a/rest/rest.pin b/rest/rest.pin index f18a370..f0d3459 100644 --- a/rest/rest.pin +++ b/rest/rest.pin @@ -14,16 +14,16 @@ --- [font=Sans 100px] [text-align=center] ReST -REpresentational State Transfer +Representational State Transfer --- -⬩ Criado por Roy Fielding em 2000. -⬩ Fielding trabalhou na definição do HTTP e no início do projeto Apache. +• Criado por Roy Fielding em 2000. +• Fielding trabalhou na definição do HTTP e no início do projeto Apache. --- [font=Sans 90px] [../_images/l-What-is-this-sorcery.jpg] -O que é ReST? +O que é ReST? --- [../_images/l-What-is-this-sorcery.jpg] @@ -43,41 +43,46 @@ Nodejs: Express --- [font=Sans 90px] [../_images/20090504102402_dsc_2864 (1).jpg] -ReST e HTTP +ReST e HTTP --- [../_images/20090504102402_dsc_2864 (1).jpg] -⬩ Status das operações são status HTTP. -⬩ Meta-informações podem ser enviadas nos headers. -⬩ Autenticação é feita por HTTP Basic Auth (preferencialmente). -⬩ "CRUD para web". +• Status das operações são status HTTP. +• Meta-informações podem ser enviadas nos headers. +• Autenticação é feita por HTTP Basic Auth (preferencialmente). +• Sem transações/sessões -- todas as operações são atômicas. +• "CRUD para web". --- [../_images/20090504102402_dsc_2864 (1).jpg] Em HTTP, usam-se "métodos" para descrever o que quer ser feito: -⬩ POST requisita informações, passando um "corpo" de dados. -⬩ GET requisita informações, sem corpo. +• POST requisita informações, passando um "corpo" de dados. +• GET requisita informações, sem corpo. + +(Ainda: PUT, DELETE, HEAD, TRACE.) --- [../_images/20090504102402_dsc_2864 (1).jpg] Em REST, métodos HTTP viram CRUD: -⬩ Create = POST -⬩ Retrieve = GET -⬩ Update = PUT -⬩ Delete = DELETE +• Create = POST +• Retrieve = GET +• Update = PUT +• Delete = DELETE --- [font=Sans 90px] [../_images/jellybeans.jpg] -Recursos +Recursos --- [../_images/jellybeans.jpg] -⬩ Em REST, "tabelas" são chamadas "recursos" -⬩ Existem duas URLs por recurso: - ⬨ Uma para o conjunto; - ⬨ Uma para elementos específicos. +• Em REST, "tabelas" chamadas são "recursos". + • (Até porque o "R" de "URL" é "resource") +• Sempre substantivos singulares. +• Existem duas URLs por recurso: + • Uma para o conjunto; + • Uma para elementos específicos. --- [../_images/jellybeans.jpg] @@ -102,44 +107,87 @@ Exemplos: GET /users/julio ⇒ Retorna as informações do usuário "julio". PUT /users/julio ⇒ Atualiza informações do usuário "julio". +DELETE /users/julio ⇒ Remove o usuário "julio". + +--- [../_images/jellybeans.jpg] + +Requisições sem recurso são definidas por verbos e GET: + +GET /convert/?source=BRL&value=10&target=AUD --- [font=Sans 90px] [../_images/content-strategy.jpg] -Conteúdo +Conteúdo --- [../_images/content-strategy.jpg] Qualquer formato, REST não define um tipo específico. -⬩ Pode ser XML -⬩ Pode ser JSON -⬩ Pode ser HTML puro +• Pode ser XML +• Pode ser JSON +• Pode ser HTML puro Decisão fica a cargo da equipe. --- [font=Sans 90px] [../_images/RightWrongBlackboard.jpg] -Status +Status --- [../_images/RightWrongBlackboard.jpg] HTTP status: -⬩ 200 OK ⇒ operação concluída com sucesso. -⬩ 400 Bad Request ⇒ algo de errado com a requisição. -⬩ 403 Forbidden ⇒ sem permissão de acesso ao recurso ou elemento. -⬩ 404 Not Found ⇒ recurso ou elemento não existe. -⬩ 405 Method Not Allowed ⇒ método inválido para recurso/elemento. -⬩ 406 Not Acceptable ⇒ algum parâmetro não faz sentido. -⬩ 409 Conflict ⇒ conflito de opções. +• 200 OK ⇒ operação concluída com sucesso. +• 400 Bad Request ⇒ algo de errado com a requisição. +• 403 Forbidden ⇒ sem permissão de acesso ao recurso ou elemento. +• 404 Not Found ⇒ recurso ou elemento não existe. +• 405 Method Not Allowed ⇒ método inválido para recurso/elemento. +• 406 Not Acceptable ⇒ algum parâmetro não faz sentido. +• 409 Conflict ⇒ conflito de opções. E assim por diante, mais informações podem ser enviadas no corpo da resposta. +--- [../_images/RightWrongBlackboard.jpg] + +Infelizmente, ReST não define o que em fazer casos de conflitos. + +--- [../_images/RightWrongBlackboard.jpg] + +Exemplo: + +Adicionar um usuário a um grupo: + +• 404 se o grupo não existir (PUT /group/1001) +• O que retornar se o usuário (dentro do conteúdo) não existir? + --- [font=Sans 90px] [../_images/house-do-want_cut455_22k.jpg] -Por que ReST? +Por que ReST? + +--- [../_images/house-do-want_cut455_22k.jpg] + +• Reaproveita toda a estrutura de HTTP existente. +• HTTP praticamente padrão em todas as linguagens. +• Dificilmente HTTP (porta 80) é bloqueado em proxies. +• "Sintaxe" simples. + +--- [font=Sans 90px] [../_images/Luke-Derp.jpg] + +Por que não ReST? + +--- [../_images/Luke-Derp.jpg] [bottom] [font=Sans 20px] + +(Slide intencionalmente deixando em branco.) + +--- [../_images/Luke-Derp.jpg] + +• Segurança depende de terceiros (HTTPS). +• Não recomedado para dispositivos com processamento e memória + extremamente limitados. +• Necessidade de sessões/transações. + +--- [../_images/Luke-Derp.jpg] [bottom] [font=Sans 20px] ---- [font=Sans 90px] [../_images/1379026756351.jpg] +(Slide intencionalmente deixando em branco -- de novo.) -Por que não ReST?