diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..12123b5 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "reveal.js"] + path = reveal.js + url = https://github.com/hakimel/reveal.js.git diff --git a/rest-reveal/index.html b/rest-reveal/index.html new file mode 100644 index 0000000..793b413 --- /dev/null +++ b/rest-reveal/index.html @@ -0,0 +1,177 @@ + + + + + + + ReST - Restructured State Transfer + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+

ReST

+

Restructured State Transfer

+
+ +
+
    +
  • Criado por Roy Fielding em 2000.
  • +
  • Fielding trabalhou na definição do HTTP e no início do projeto Apache.
  • +
+
+ +
+
+

O que é ReST?

+ +
+ +
+

+ É uma "arquitetura de transmissão de dados sobre HTTP. +

+ +

+ ("Conjunto de idéias para utilizar HTTP para geração de APIs.") +

+
+ +
+

+ Linguagem? Qualquer! +

+ +
    +
  • Python: Flask, Django, Flask-Restless, Django Rest Framework
  • +
  • Ruby: Ruby on Rails, Sinatra
  • +
  • Java: Spring, Restlet, Jersey
  • +
  • C#: Ramone
  • +
  • Nodejs: Express
  • +
  • Rust: Rustful
  • + +
+
+ +
+
+

ReST e HTTP

+ +
+ +
+
    +
  • Métodos HTTP = operação de banco de dados (CRUD).
  • +
  • Status das operações são status HTTP.
  • +
  • Meta-informações podem ser enviadas nos headers. +
      +
    • Atenticação é feita por HTTP auth.
    • +
    +
  • +
  • Sem transações/sessões -- todas as operações são atômicas.
  • +
+
+ +
+ Em HTTP, usam-se métodos para descrever o que quer ser feito: + +
    +
  • POST requisita informações, com conteúdo.
  • +
  • GET requisita informações, sem conteúdo.
  • +
+ +

(Ainda: PUT, DELETE, HEAD, TRACE, PATCH, OPTIONS)

+
+ +
+ Em ReST, métodos HTTP viram CRUD: + + + + + + + + + + + + +
OperaçãoMétodo
CreatePOST
RetrieveGET
UpdatePUT
DeleteDELETE
+
+
+
+
+ + + + + + + + diff --git a/reveal.js b/reveal.js new file mode 160000 index 0000000..131c006 --- /dev/null +++ b/reveal.js @@ -0,0 +1 @@ +Subproject commit 131c00689a4c7a18e5c991fc8102347e4594b5d4