REST APIs: integrar aplicações e diagnosticar falhas
Doze aulas, 100 perguntas e vinte casos sobre contratos REST, retries, cache, paginação, autorização e webhooks.
Objetivos e percurso
Percurso técnico bilingue com doze módulos, 100 perguntas e vinte cenários fictícios. Acrescenta autorização por função, objeto e propriedade, assinaturas sobre bytes, âmbito do produtor, inbox e outbox locais, entregas simultâneas e eventos fora de ordem. O novo laboratório Python 3.13.1 e SQLite 3.51.2 demonstra 32 observações HTTP locais, rollback controlado e reinício limpo. Identidade e relógio são sintéticos; não há autenticação real, dispatcher externo, recuperação regional ou prova de execução única distribuída. Avaliação interna de 62 decisões em 150 minutos. Os mínimos numéricos do banco estão atingidos; revisão independente e aceitação prática mais ampla permanecem pendentes.
Para quem: Equipas APS L2/L3, infraestrutura, SRE, administração de sistemas e gestores técnicos.
Pré-requisitos: Noções de aplicações, monitorização e suporte à produção; não pressupõe processos internos de qualquer banco.
750 minutos de estudo estimados
- Define representações e limites de compatibilidade antes de integrar sistemas.
- Distingue aceitação técnica, conclusão e erro acionável.
- Evita duplicados e perda de alterações sem prometer execução única universal.
- Avalia sujeito, operação e objeto em cada acesso.
- Controla reutilização de respostas e percurso por coleções em mudança.
- Mede resultados, limita repetição e prepara transições de contrato.
- Distingue tentativa, operação e resultado; decide quando consultar, repetir ou escalar.
- Usa pré-condições e patches atómicos, interpreta conflitos e define a evidência necessária para produção.
- Diagnostica representações erradas, valida respostas guardadas e define critérios de frescura sem esconder falhas.
- Distingue continuação de consistência e entrega, com casos de omissão, revogação e checkpoints prematuros.
- Aplica uma matriz de permissões à API e demonstra efeitos permitidos e recusados com dados sintéticos.
- Verifica origem e âmbito, preserva identidade de eventos e separa commit local de entrega a sistemas externos.
Módulos
- Recursos e contratos de API
- Pedidos e resultados
- Concorrência e repetição
- Autorização e fronteiras
- Cache e paginação
- Operação e evolução
- Recuperar pedidos sem duplicar trabalho
- Alterações concorrentes e recuperação verificável
- Variantes, validação e limites de cache
- Paginação, snapshots e recuperação de exportações
- Autorizar funções, objetos e propriedades
- Webhooks assinados e recuperação local
Continua a aprender
Referências e versão
HTTP semantics RFC9110; OpenAPI3.2.1; selected primary standards and provider contracts consulted2026-09-30
- REST architectural style, dissertation chapter5 · 2026-09-30
- HTTP Semantics · 2026-10-03
- HTTP Caching · 2026-10-03
- RFC9457 Problem Details for HTTP APIs · 2026-10-03
- OpenAPI Specification3.2.1 · 2026-09-30
- RFC5789 PATCH Method for HTTP · 2026-09-30
- RFC6902 JavaScript Object Notation JSON Patch · 2026-10-03
- RFC6585 Additional HTTP Status Codes · 2026-10-03
- API1:2023 Broken Object Level Authorization · 2026-10-03
- API5:2023 Broken Function Level Authorization · 2026-10-03
- RFC9700 Best Current Practice for OAuth2.0 Security · 2026-09-30
- Trace Context · 2026-09-30
- Fetch Standard · 2026-09-30
- AIP-158 Pagination · 2026-10-03
- Idempotent requests · 2026-10-03
- RFC9745 The Deprecation HTTP Response Header Field · 2026-09-30
- RFC8594 The Sunset HTTP Header Field · 2026-09-30
- http.server standard-library reference · 2026-10-03
- http.client standard-library reference · 2026-10-03
- RFC 6901: JSON Pointer token syntax · 2026-10-03
- LIMIT and OFFSET · 2026-10-03
- Transaction Isolation · 2026-10-03
- http.server · 2026-10-03
- API3:2023 Broken Object Property Level Authorization · 2026-10-03
- API4:2023 Unrestricted Resource Consumption · 2026-10-03
- Receive Stripe events in your webhook endpoint · 2026-10-03
- hmac: keyed hashing for message authentication · 2026-10-03
- Transaction · 2026-10-03
O que vais explorar
0 / 12Recursos e contratos de API
Define representações e limites de compatibilidade antes de integrar sistemas.
Pedidos e resultados
Distingue aceitação técnica, conclusão e erro acionável.
Concorrência e repetição
Evita duplicados e perda de alterações sem prometer execução única universal.
Autorização e fronteiras
Avalia sujeito, operação e objeto em cada acesso.
Cache e paginação
Controla reutilização de respostas e percurso por coleções em mudança.
Operação e evolução
Mede resultados, limita repetição e prepara transições de contrato.
Recuperar pedidos sem duplicar trabalho
Distingue tentativa, operação e resultado; decide quando consultar, repetir ou escalar.
Alterações concorrentes e recuperação verificável
Usa pré-condições e patches atómicos, interpreta conflitos e define a evidência necessária para produção.
Variantes, validação e limites de cache
Diagnostica representações erradas, valida respostas guardadas e define critérios de frescura sem esconder falhas.
Paginação, snapshots e recuperação de exportações
Distingue continuação de consistência e entrega, com casos de omissão, revogação e checkpoints prematuros.
Autorizar funções, objetos e propriedades
Aplica uma matriz de permissões à API e demonstra efeitos permitidos e recusados com dados sintéticos.
Webhooks assinados e recuperação local
Verifica origem e âmbito, preserva identidade de eventos e separa commit local de entrega a sistemas externos.