Love GraphQL, but oh man is it being over used at my company. Management sees success with one of our large apis, now all the little niche ones have to be migrated and everyone consuming them must migrate as well.
I like it, but the small 2 endpoint APIs that haven’t changed in years, have small 5 field models and no related entities, has like 1 or 2 teams that consume them DO NOT need it.
LOL, “hey guys this thing hasn’t changed in years, so we need you to convert your simple API request into a big ol’ POST describing the entire model.”
The argument in the blog post sounds like one of those technologies that says “it works great once you have a billion users! Just wait and see.”
Tried it once. It was a testing nightmare, trying to catch all the varying edge cases. Gave up and never looked back.
GraphQL is so stupid about collections of objects. If you want uniform pagination for different types of objects you have to write separate types for each.
I don’t like how it composes things together. Kindof awkward when the subportions of the query need variables. Nested objects are great to form the query to just what one needs but then extra steps to decompose into what you’ll actually have client-side.
Sounds like a bunch of people here don’t understand the graphql use case or implementation. I’ve used it projects and works no worse than other solutions, and met the requirement of not having to update tons of code when queries are refactored. It’s not right for everything, but the same is true for anything.
At my workplace, we use it for East-West traffic, especially the central Identity, Authentication and Authorization service which every other service needs to access, and it works great for that use case (Since it allows the downstream services to fetch information however they like). REST can do that too, but it will be cumbersome to say the least. Although GraphQL performance has come under scrutiny lately.