APIs REST: o significado dos métodos HTTP (PUT, DELETE, POST, GET)
No domínio das APIs RESTful, um elemento fundamental surge uma pergunta: por que utilizar vários tipos de solicitação HTTP, como PUT, DELETE, POST e GET? É importante entender que o propósito do REST vai além de apenas acessar dados usando o método mais fácil.
O papel do REST
A "transferência de estado representacional" (REST) a arquitetura fornece uma maneira significativa de interagir com os dados. Quando uma solicitação REST é feita, ela deve transmitir imediatamente a ação pretendida a ser executada.
Exemplo: solicitações GET
Considere o seguinte endpoint REST:
GET: /cars/make/chevrolet
Este endpoint provavelmente retorna uma lista de carros Chevrolet. Ao usar uma solicitação GET, o usuário especifica explicitamente que deseja recuperar dados, em vez de modificá-los.
Solicitações POST: Criando Dados
Para criar novos dados, uma solicitação POST normalmente é usada. Por exemplo:
POST: /cars/ { make:chevrolet, model:malibu, colors:[red, green, blue, grey] }
Esta solicitação POST envia dados para criar um novo Chevrolet Malibu com cores especificadas. A API não está necessariamente vinculada à estrutura de banco de dados subjacente, mas em vez disso fornece uma interface de mascaramento para proteger os dados verdadeiros.
Idempotência e métodos HTTP
Métodos HTTP como GET , PUT e DELETE seguem o princípio da idempotência. Isto significa que chamadas repetidas a estes métodos devem resultar no mesmo estado do servidor. O POST, por outro lado, é geralmente considerado não idempotente, pois pode levar a diferentes estados do servidor.
Implementando a idempotência
Para garantir a idempotência com solicitações POST, considere usar o seguinte padrão:
POST: /cars/oldest?action=delete
Este endpoint define explicitamente a ação a ser executada (exclusão), tornando-a idempotente. Por outro lado, uma solicitação como:
Delete: /cars/oldest
pode ser potencialmente ambígua e não idempotente.
Em conclusão, o uso de métodos HTTP específicos em APIs REST não são arbitrárias. Servem para transmitir a ação pretendida (criar, ler, atualizar, excluir) e garantir a idempotência do sistema. Ao aderir a essas convenções, as APIs REST fornecem uma abordagem significativa e estruturada para manipulação e interação de dados.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3