API porque todo Governo 
deveria ter uma? 
pedrohosilva.wordpress.com.br 
@Github @outlook / pedro-hos
~/whois? 
Não sou esse
~/whois?
API 
● Dados ou funções de negócio expostos na internet; 
● Acelerar Parcerias; 
● Simplificar Integração -> Mobile X Desktop X Web 
etc; 
● Internet das coisas -> RaspberryPi 
● Rest JSON 
● Segurança 
● Padrão de Acesso 
● Fácil Hello Word 
● Documentação bem detalhada
Cases 
Governo, Quanto tem: dados.gov.br 
● Desnormalizado; 
● Não é API; 
● Documentação relativamente Fraca, quando 
tem 
● Dados são difíceis de encontrar
Cases
● REST Estilo arquitetural criado por Roy 
Fielding 
● RESTful Design que respeita os 
conceitos Rest
Tá Fácil
E o Governo? 
Seria maravilhoso se os dados estivessem 
expostos de uma maneira limpa com uma 
documentação acessível e clara! 
Poderíamos ajudar de muitas formas!
Alguns Padrões 
❏ URIs 
❏ Resources 
❏ Operações 
❏ Media Types 
❏ Status Code 
❏ . . .
URI 
http:// call4papers-jugvale.rhcloud.com /rest /evento 
http://call4papers-jugvale.rhcloud.com/rest/evento/{id} 
http://call4papers-jugvale.rhcloud.com/rest/evento/{id}/papers 
http://call4papers-jugvale.rhcloud.com/rest/v1/evento/{id}
Extra API
Recursos 
( . . . ) /evento/
Recursos 
( . . . ) /evento/{id}
Recursos 
( . . . ) /evento/{id}/papers
Principais Operações 
Mais ou menos isso . . 
● POST CREATE 
● GET READ 
● PUT UPDATE 
● DELETE DELETE
Media Types 
● XML: application/xml 
● JSON: application/json 
● TEXT: application/text 
● Binay: image/*, image/jpg, etc. . .
Status HTTP 
● 1XX - Informacionais 
● 2xx - Sucesso 
○ 200 - OK 
○ 201 - Criado 
● 3xx - Redirecionamento 
○ 301 - Moved Permanently (Location no Header) 
○ 307 - Movido Temporariamente
Status HTTP 
● 4xx - Erro causados pelo cliente 
○ 401 - Não Autorizado 
○ 403 - Forbidden 
○ 404 - Not Found 
● 5xx - Erro originado no server 
○ 500 - Internal Server Error 
○ 503 - Service Unavaible
Obrigado

Apis palestra 7º JUG Vale

  • 1.
    API porque todoGoverno deveria ter uma? pedrohosilva.wordpress.com.br @Github @outlook / pedro-hos
  • 2.
  • 3.
  • 4.
    API ● Dadosou funções de negócio expostos na internet; ● Acelerar Parcerias; ● Simplificar Integração -> Mobile X Desktop X Web etc; ● Internet das coisas -> RaspberryPi ● Rest JSON ● Segurança ● Padrão de Acesso ● Fácil Hello Word ● Documentação bem detalhada
  • 5.
    Cases Governo, Quantotem: dados.gov.br ● Desnormalizado; ● Não é API; ● Documentação relativamente Fraca, quando tem ● Dados são difíceis de encontrar
  • 6.
  • 7.
    ● REST Estiloarquitetural criado por Roy Fielding ● RESTful Design que respeita os conceitos Rest
  • 8.
  • 9.
    E o Governo? Seria maravilhoso se os dados estivessem expostos de uma maneira limpa com uma documentação acessível e clara! Poderíamos ajudar de muitas formas!
  • 10.
    Alguns Padrões ❏URIs ❏ Resources ❏ Operações ❏ Media Types ❏ Status Code ❏ . . .
  • 11.
    URI http:// call4papers-jugvale.rhcloud.com/rest /evento http://call4papers-jugvale.rhcloud.com/rest/evento/{id} http://call4papers-jugvale.rhcloud.com/rest/evento/{id}/papers http://call4papers-jugvale.rhcloud.com/rest/v1/evento/{id}
  • 12.
  • 13.
    Recursos ( .. . ) /evento/
  • 14.
    Recursos ( .. . ) /evento/{id}
  • 15.
    Recursos ( .. . ) /evento/{id}/papers
  • 16.
    Principais Operações Maisou menos isso . . ● POST CREATE ● GET READ ● PUT UPDATE ● DELETE DELETE
  • 17.
    Media Types ●XML: application/xml ● JSON: application/json ● TEXT: application/text ● Binay: image/*, image/jpg, etc. . .
  • 18.
    Status HTTP ●1XX - Informacionais ● 2xx - Sucesso ○ 200 - OK ○ 201 - Criado ● 3xx - Redirecionamento ○ 301 - Moved Permanently (Location no Header) ○ 307 - Movido Temporariamente
  • 19.
    Status HTTP ●4xx - Erro causados pelo cliente ○ 401 - Não Autorizado ○ 403 - Forbidden ○ 404 - Not Found ● 5xx - Erro originado no server ○ 500 - Internal Server Error ○ 503 - Service Unavaible
  • 20.