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

Web Apis

Web Apis

Palestra realizada na Secretaria Adjunta de Tecnologia da Informação do Estado do Maranhão para conhecimento do paradigma de APIs Web pelos desenvolvedores do instituição.

Evaldo Barbosa

August 27, 2015
Tweet

More Decks by Evaldo Barbosa

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. Serve para... Acelerar parcerias Simplificar integração mobile-cloud Impulsionar a inovação

    aberta Integrar aplicações de software Criar novos negócios
  4. URI (recursos) Recursos são coisas, tem nomes específicos, mesmo que

    possam ser tratados como abstrações. Usar sempre substantivos para os recursos.
  5. RMM Nivel 0: nada implementado Nivel 1: uso de recursos

    Nivel 2: uso dos verbos HTTP corretamente Nivel 3: Hipermídia
  6. Respostas O uso dos verbos aliado ao bom uso das

    respostas do protocolo HTTP deixam a API mais poderosa.
  7. 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)
  8. 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.
  9. Exemplo { "developerMessage" : "Mensagem bem explicativa.", "userMessage":"Mensagem de erro

    simples.", "errorCode" : 12345, "more info": "http://dev.teachdogrest.com/errors/12345" }
  10. Recomenda-se manter até duas versões de uma API. A versão

    anterior deve ser mantida por cerca de 6 meses.
  11. Documentação Dependendo do tamanho da API ou da quantidade de

    usuários que ela tenha, passa a ser interessante ter um site especializado nela.
  12. Documentação descrição dos endpoints (parametros de entrada e saida) exemplos

    de código páginas introdutórias como credenciar aplicações e gerar tokens
  13. Documentação descrição dos endpoints (parametros de entrada e saida) exemplos

    de código páginas introdutórias como credenciar aplicações e gerar tokens