Best Practices : Versioning GraphQL APIs
I have added Versioning of GraphQL APIs under Best Practices section. Topics added in the writing :
- Versioning of REST APIs
- Versioning GraphQL APIs
- Example of Shopify : how they have versioned their GraphQL APIs
- Some more info and tools for schema validation(useful for versioning)
Mentor for this writing : @Urigo
👋🏼 Looping this PR into the discussion going on #41. That way, if people find their way there through the GSoD proposals then they'll know that you're already working on this one 😊
👋🏼 Looping this PR into the discussion going on #41. That way, if people find their way there through the GSoD proposals then they'll know that you're already working on this one 😊
@carolstran Can you review this PR? The PR is ready for review.
@benjie Thanks for reviewing. I will look into your comments and make changes wherever required.
The committers are authorized under a signed CLA.
- :white_check_mark: Nisarg Shah (b89e2fe54068b48f513a3da18045b09d108641c0, 39d20eb1750bb57a46b3a40c063a0f779545f928, 7903da4ef16ea02ec5f2a7b19e7f166a11341be5, a2b05c5f8e565205fcaee1f9a27c6027b466309b, d0dd267f8d2b4149f7e86bfba8d2fe02c67a8197, 4663f3e19f7a9f77a7259c2f8f86f58fb101a8f6)
@benjie Sorry for the delay. In a couple of days I will try to make all suggested changes and then you can review it.
The examples in this PR use firstName, middleName and lastName which really aren't universal concepts and I'm very hesitant to add them to the GraphQL documentation; read more here: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ Can you come up with an example that is more universal?
@benjie Do you have any ideas/examples which we can added instead of firstName and lastName? Actually I added considering profile section in mind. Most of the products have profile sections. That's why.
There's been extensive discussion about Shopify's versioning pattern in recent GraphQL Spec WGs; here's some relevant notes if you're interested (you can also view the YouTube recording):
@benjie Can you share the youtube link? I tried searching but was not able to find it. I'll capture main points from video and add in the page.
@nisarg1499 Sure; videos are here:
https://www.youtube.com/channel/UCERcwLeheOXp_u61jEXxHMA
Notes are here:
https://github.com/graphql/graphql-wg/tree/main/notes