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

"API Design First" pt-br

"API Design First" pt-br

Uma visão geral de onde a abordagem de criar o contrato da API primeiro pode ser útil.

Apresentação para o curso Fullstack da Python Pro
organizar readme

https://huogerac.hashnode.dev/tres-formas-de-fazer-mock-da-sua-api-com-javascript-or-entenda-onde-isto-te-ajuda

https://pythonpro.com.br/

https://github.com/confraria-devpro/hackernews-clone

Roger Camargo

October 26, 2021
Tweet

More Decks by Roger Camargo

Other Decks in Programming

Transcript

  1. Backend Data Client 1 API Client 2 System A SDK

    Client JS System B Internet 😱 😱
  2. Faz funcionar primeiro Quando der a gente volta pra fazer

    documentação == Nunca vamos fazer a documentação 👉
  3. 1

  4. 2

  5. ❌ “Design first” significa escrever uma API de uma forma

    que humanos e máquinas possam entender! ✔ “Design first” implica que outras abordagem NÃO pensam na API antes!
  6. O que é OAS3? - Contrato para definir APIs RESTful

    - Open source, padrão que evolui - Coleção de ferramentas - Agnóstico (linguagem) - Para ser entendido por humanos e máquinas
  7. O que é API design first? - Guiado por contrato

    (YAML) - Receber feedback o quanto antes - Fácil para alterar e evoluir - Uma fonte da verdade
  8. Por que API design first? - Implementação emergente e descentralizado

    - Empoderar as pessoas e promover participação de todos na construção da API - Ferramental para facilitar implementação (DRY)
  9. Automatic live documentation API Mock server Frontend For quick UX

    validation Quick feedback Frontend TEAM Backend TEAM Real Implementation API Tests Business Tests Minimize the ReWork YAML
  10. Conclusões: - Alguns casos tudo bem não ter documentação -

    Outros também pode ser interessante ganhar a documentação (geração automática) - Uma implementação guiada por um contrato tem objetivos maiores que apenas gerar documentação
  11. References: https://swagger.io/resources/webinars/adopting-a-design-first-approach/ https://apisyouwonthate.com/blog/api-design-first-vs-code-first https://www.openapis.org/ https://spec.openapis.org/oas/latest.html https://www.youtube.com/watch?v=TfGHNBaK9a0 https://http.cat/ Tools: https://github.com/zalando/connexion https://openapi.tools/

    https://editor.swagger.io/ https://stoplight.io/ Code sample: https://github.com/billcode/jarless https://github.com/confraria-devpro/hackernews-api Books https://www.goodreads.com/book/show/4099.The_Pragmatic_Programmer API Design First https://pythonpro.com.br