Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolvendo APIs de Alta Performance

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Desenvolvendo APIs de Alta Performance

Palestra proferida nas dependências da Dataprev Rio sobre os aspectos que impactam na performance e na qualidade de uso de APIs.

Avatar for Ricardo Coelho

Ricardo Coelho

February 21, 2014
Tweet

More Decks by Ricardo Coelho

Other Decks in Technology

Transcript

  1. API e seus diversos formatos e regras de negócio que

    participam da entrega de dados ao cliente. Conjunto de Modais
  2. API Eficiente Ações na aplicação Estabeleça um padrão e use-o

    Fundamental em aplicações móveis Entregar Dados Prontos
  3. Use os códigos de estado HTTP 200 OK ! {

    “is_error”: true, “message”: “Not found” } 404 Not Found ! ! ! ! API Eficiente
  4. Use os verbos HTTP GET /api/v1/recurso/criar ! { “nome”: “Ricardo”,

    … } PUT /api/v1/recurso ! { “nome”: “Ricardo”, … } API Eficiente
  5. Update em Campos Específicos PATCH /api/v1/recurso/ HTTP/1.1 Host: servidor.com.br Content-Type:

    application/json-patch ! [ {"replace": "nome", "value": “Ricardo Coelho"} ] Reduzir a Pegada
  6. Update em Campos Específicos POST /api/v1/recurso/ HTTP/1.1 X-HTTP-Method-Override: PATCH Host:

    servidor.com.br Content-Type: application/json-patch ! [ {"replace": "nome", "value": “Ricardo Coelho"} ] Reduzir a Pegada
  7. PATCH /api/v1/recurso/ HTTP/1.1 Host: servidor.com.br Content-Type: application/json-patch ! [ {“replace”:

    “nome”, “value”: “Ricardo Coelho”}, {“unset”: “faltas”}, {“add”: “ferias”, “value”: { “inicio”: “2014-01-05”, “fim”: “2014-02-04” } } ] Reduzir a Pegada
  8. PATCH /api/v1/recurso/ HTTP/1.1 Host: servidor.com.br Content-Type: application/json-patch ! [ {“nome”:

    “Ricardo Coelho”}, {“faltas”: null}, {“ferias”: { “inicio”: “2014-01-05”, “fim”: “2014-02-04” } } ] Reduzir a Pegada
  9. OPTIONS /api/v1/recurso/ HTTP/1.1 Host: servidor.com.br Content-Type: application/json-patch ! { “_comment”:

    “bla, bla, bla”, “format”: { “id”: “int”, “nome”: “string”, “faltas”: [ “datetime” ] “ferias”: { “inicio”: “date”, “fim”: “date” } } } Documentação para Sistemas