Let REST do rest : deep dive in GraphQL APIs in Python
GraphQL technology has become popular nowadays. Developers when developing REST APIs, they need to consider many points and build their APIs accordingly. There are multiple endpoints and also problems of over-fetching and under-fetching occurs. GraphQL, can solve all these and provide a new experience while building APIs. Want to know how? Want to build an API with only a single endpoint and automatic documentation?
GraphQL is a query language and uses a schema based approach. It has only one endpoint and client can request the needed data. While building APIs, schema can be fixed and teams can work independently as the structure is fixed.
There are some concepts which make GraphQL interesting such as type system, fields, object types, etc. The journey of building GraphQL APIs in django using graphene would be more exciting in this talk when you will get to know about graphene ObjectTypes, Queries, Mutations, Resolvers. We will start by understanding these concepts followed by some code. While using graphene, django object types are mapped to graphql object types and then schemas of graphql are developed. Detailed code of writing resolvers, pagination, queries, mutations, authentication will be included, along with what type of response objects can be returned on successful mutation operations.
Versioning of GraphQL APIs is not similar to versioning of REST APIs, it’s quite different and interesting. Only updates of schema fields are needed. Many times GraphQL is used, but in some cases REST is preferred over GraphQL.
- APIs in Development [1 minute]
- Some information about REST [2 minutes]
- What are issues with REST? [1 minute]
- What is the Solution : GraphQL [1 minute]
- Some information about GraphQL [2 minutes]
- Concepts of GraphQL (Schema, Type System, Fields, Arguments, Fragments) [4-5 minutes]
- Libraries available in Python for GraphQL [2 minutes]
- Code (Queries, Mutation, Authentication, Pagination) [9-10 minutes]
- Best Practices(Versioning GraphQL API) [2 minutes]
- Cons of using GraphQL over REST [1 minute]
- Q/A [5 minutes]
Who is this talk for?
- Python developers who deal some issues with REST APIs on daily basis.
- Developers who are curious to know about GraphQL and want to acquire knowledge about developing GraphQL APIs.
- Understanding graphql and code snippets
- Able to build GraphQL APIs in a structured way on their own understanding
- Basic knowledge of Python and Django
Nisarg is currently pursuing B.Tech in the field of Information and Communication Technology(majors CS). He is also a Software Developer at Tweetozy and Co-Creator of CoursesAround product. He is passionate about technology and building solutions for real life problems. He is also interested in problem solving and building softwares which can be used by users. He always hunts and looks around for the innovative project to work on and challenge his technical skills to learn more. He mostly codes as Backend Developer and builds amazing systems.
He always tries to give back to the community by serving as a volunteer or as a committee member. He has worked with multiple startups and has also contributed to few Open Source projects. He does not restrict himself by any coding language, rather focus more on the approach of solving the problem.
- Website : http://iamnisarg.in/
- Linkedin : https://www.linkedin.com/in/nisargshah14/
- Github : https://www.github.com/nisarg1499