Desenvolvida em 2012 graças ao Facebook e disponibilizada ao restante do mundo em 2015, a tecnologia de API GraphQL veio para superar algumas limitações do REST e proporcionar uma eficiência ainda maior, tão buscada pelos desenvolvedores.
O uso do GraphQL proporciona a consulta de dados exatos de que os aplicativos precisam para superar os desafios de overfectching ou underfetching de REST, e com essa tecnologia desenvolvedores ficam munidos para inovar com mais rapidez e criar aplicativos mais eficientes, responsivos e leves.
Entretanto, mesmo sendo altamente atrativo, o GraphQL não é adequado para todos os usos e sua adoção ainda está algumas posições atrás do REST no ranking feito pelo The State of API Report 2020 da SmartBear.
Mitos e verdades: GraphQL vs REST
Apesar do que muitos podem pensar, essa tecnologia não é uma substituta completa do REST, mas ambos poderão ser encontrados nos ambientes, atuando de forma complementar nos próximos anos. Isso se deve principalmente devido as seguintes razões: funcionalidades específicas, necessidade de treinar desenvolvedores e disponibilidade de ferramentas para suportar o ciclo de vida por completo das APIs.
Outro ponto que deve ser esclarecido é que a tecnologia GraphQL é mais segura que a REST, quando ambas podem ser suscetíveis as mesmas vulnerabilidades, e a mais recente ainda conta com sua própria lista de pontos fracos, entre os quais podemos citar os mais comuns, sendo:
- Introspecção
- Erros detalhados
- Controles de acesso
- Injeção
- Limitação de taxa
- Negação de serviço
Existe ainda outro equívoco cometido que é o de pensar que as ferramentas e controles de segurança atuais da API podem proteger GraphQL, quando na verdade é necessário suporte nativo, especialmente devido a sua estrutura e recursos exclusivos.
Seja qual for a tecnologia utilizada nas APIs de seus clientes e suas necessidades de proteção, conte com as soluções da Salt oferecidas pela M3Corp. Fale com nossos especialistas e saiba mais!
Referência:
https://salt.security/blog/salt-security-protects-graphql-apis