graphql.github.io icon indicating copy to clipboard operation
graphql.github.io copied to clipboard

Best Practices : Versioning GraphQL APIs

Open nisarg1499 opened this issue 5 years ago • 8 comments

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

nisarg1499 avatar Jun 28 '20 09:06 nisarg1499

👋🏼 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 avatar Aug 20 '20 12:08 carolstran

👋🏼 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.

nisarg1499 avatar Aug 20 '20 14:08 nisarg1499

@benjie Thanks for reviewing. I will look into your comments and make changes wherever required.

nisarg1499 avatar Dec 07 '20 09:12 nisarg1499

CLA Signed

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.

nisarg1499 avatar Feb 27 '21 15:02 nisarg1499

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.

nisarg1499 avatar Mar 05 '21 18:03 nisarg1499

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 avatar Mar 05 '21 19:03 nisarg1499

@nisarg1499 Sure; videos are here:

https://www.youtube.com/channel/UCERcwLeheOXp_u61jEXxHMA

Notes are here:

https://github.com/graphql/graphql-wg/tree/main/notes

benjie avatar Mar 15 '21 13:03 benjie