Is it time for REST APIs to rest and GraphQL to rise?

Another interesting advance in technology in the past few years is the move to GraphQL. After years of preaching for RESTful APIs, now companies are moving to GraphQL. Currently, I am working on a project to migrate from an explosion of RESTful APIs to GraphQL. It was interesting to see the adoption of REST going up and suddenly declining, as the case with many technologies. Just a few years, ago, I read an article that reads “REST in peace, SOAP” (https://royal.pingdom.com/rest-in-peace-soap/ ). The move, at this time, was from SOAP to REST. After few years of using REST, here we go again. REST in peace, REST :) (https://nordicapis.com/is-graphql-the-end-of-rest-style-apis/ ). Is not this the case with technological advancement these days? Now, the question is: why people may choose GraphQL over RESTful APIs?
1. One endpoint vs multiple endpoints:
The main problem I am experiencing today is the explosion of end points that are hard to be discovered and not well documented. You may have to create an endpoint per resource. For example, if you have a database of Posts, you may have Posts collection, Comments collection, and Authors collection. To get a post you call GET mydomain.com/posts. In this case, you get all posts with Author Ids. To get user information, you have to do another call per post to get user info GET mydomain.com/Authors/:id. Then to get the comments on each post, you need to run multiple other requests. Then to get users wrote each comment …. You got the idea.
In GraphQL you just run a query with nested queries of what you want in one shot. Is not this cool :)
2. Network Requests:
It is obvious from the example above that you do a lot more requests in REST than GraphQL. In this case, GraphQL reduces network requests, which improves performance and speed.
3. Over / Under fetching:
In RESTful APIs, you get the entire output in spite of what you need (over fetching) or you might get less than what you need and you will have to do multiple rounds like the first example (under fetching).
4. Versioning:
One of the major problems with RESTful APIs is versioning and backward compatibility. GraphQL is version less. You can introduce/deprecate fields easily.
5. Documentations:
This is one of the great benefits of GraphQL. As you know, developers hate documentations and updating them. This comes for free with GraphQL.