Por que usar a API REST enquanto você pode fazer tudo com `POST`?

Por que usar a API REST enquanto você pode fazer tudo com `POST`?

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 postmétodo?

Por exemplo, se eu solicitar que o back-end exclua uma entrada, eu poderia simplesmente chamar delete_oneo URL em uma POSTsolicitação. Por que se preocupar em criar uma DELETEsolicitaçã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.

informação relacionada