I’m mostly into it for the strong typing, self-documenting nature of it. In my own GraphQL APIs I’ve done a pretty great job of avoiding common pitfalls.
I’m a Ruby on Rails developer currently developing a service that’s basically ripped out of another Ruby on Rails app and the legacy data is just crazy bad — a lot of it has to do with poor validation but it’s understandably easy to get to that point in a dynamic language like Ruby if you’re not careful.
I also manage a REST JSON:API and it’s just so bulky and horrible to deal with. The tooling is barely there and it’s way overly complicated compared to GraphQL — the concept of “only query what you need” is fantastic.