
Eu li sobre documentações sobre API REST. Do ponto de vista de um iniciante, não entendo por que usar REST enquanto você pode fazer tudo com o post
método?
Por exemplo, se eu solicitar que o back-end exclua uma entrada, eu poderia simplesmente chamar delete_one
o URL em uma POST
solicitação. Por que se preocupar em criar uma DELETE
solicitação complicada?
Responder1
Um dos objetivos das restrições REST é se beneficiar dos caches em camadas. Seguir o estilo arquitetônico REST fornece uma linguagem comum para descrever operações e relacionamentos entre diferentes operações de uma forma que seria entendida não apenas pelos endpoints (cliente e servidor), mas também por componentes intermediários como caches e middlewares. Esses caches e middlewares podem ser genéricos, componentes prontos para uso que não foram criados ou configurados especificamente para seu aplicativo, mas entendem apenas a semântica básica do HTTP (ou qualquer tipo de REST que você usar).
Para seu exemplo específico, ao usar um método HTTP DELETE, você também indica que os caches nessa URL devem ser invalidados:
Se uma solicitação DELETE passar por um cache que possui uma ou mais respostas armazenadas para o URI da solicitação efetiva, essas respostas armazenadas serão invalidadas (ver Seção 4.4 de [RFC7234]).
Isso significa que um comando GET subsequente nessa URL deve ser recuperado do servidor de origem e não dos caches.