Pular para o conteúdo principal
À medida que nossa API pública evolui para atender novos requisitos e aprimorar funcionalidades, integradores e clientes precisam se adaptar de forma transparente. Um padrão chave que suporta a resiliência a essas mudanças é o Leitor Tolerante (Tolerant Reader). Ao adotar o padrão Leitor Tolerante, as integrações podem lidar melhor com novas informações sem atualizações frequentes. Essa abordagem reduz as necessidades de manutenção e aumenta a resiliência, criando uma experiência de integração mais fluida.

O que é um leitor tolerante?


O padrão Leitor Tolerante é uma abordagem de design de integração em que um cliente que consome dados é construído para lidar com mudanças potenciais — como campos adicionados ou modificações menores na estrutura — de forma elegante. Esse padrão promove compatibilidade futura, reduzindo a necessidade de atualizações imediatas sempre que os dados ou o serviço evoluem.

Cenário real


Considere uma requisição para GET /organizations/{organization_id}. Inicialmente, a resposta pode ser:
Posteriormente, campos como doingBusinessAs e address podem ser adicionados:
Um cliente que segue o padrão Leitor Tolerante lidaria com os campos adicionais sem problemas, garantindo a continuidade do funcionamento.

Implementando um leitor tolerante


Abaixo está um exemplo de código Python que processa campos adicionais de forma elegante, considerando mudanças no payload.
Neste exemplo, métodos get são usados para acessar valores de forma segura. Isso permite flexibilidade caso novos campos, como phoneNumber, sejam introduzidos, pois o código continua funcional mesmo se um campo estiver ausente.