POST is used to say that you are sending data. GET requests can be bookmarked, POST not. Before single-page web applications appeared, we used post-redirect-get to receive data and display a bookmarkable page.
If you use POST to retrieve data, then web caching does not work, since the caching code does not cache POSTS, it expects POST to mean that it should invalidate its cache. If you split your services according to usage scenarios and used GET, then you could cache responses like Squid .
You may not need to implement caching right now, but it would be nice to leave the option open. Bringing your services in line with the requirements means that you can take advantage of existing tools and infrastructure (which is an advantage of REST).
source share