8000 GitHub - graphql-python/sanic-graphql at ddd811fea99e2d4eab4f8632404c6d68f5b69fe3
[go: up one dir, main page]

Skip to content

graphql-python/sanic-graphql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sanic-GraphQL

Adds GraphQL support to your Sanic application.

Based on flask-graphql by Syrus Akbary.

Usage

Just use the GraphQLView view from sanic_graphql

from sanic_graphql import GraphQLView

app.add_url_rule('/graphql', view_func=GraphQLView.as_view('graphql', schema=schema, graphiql=True))

# Optional, for adding batch query support (used in Apollo-Client)
app.add_url_rule('/graphql/batch', view_func=GraphQLView.as_view('graphql', schema=schema, batch=True))

This will add /graphql and /graphiql endpoints to your app.

Supported options

  • schema: The GraphQLSchema object that you want the view to execute when it gets a valid request.
  • context: A value to pass as the context to the graphql() function.
  • root_value: The root_value you want to provide to executor.execute.
  • pretty: Whether or not you want the response to be pretty printed JSON.
  • executor: The Executor that you want to use to execute queries.
  • graphiql: If True, may present GraphiQL when loaded directly from a browser (a useful tool for debugging and exploration).
  • graphiql_template: Inject a Jinja template string to customize GraphiQL.
  • batch: Set the GraphQL view as batch (for using in Apollo-Client or ReactRelayNetworkLayer)

You can also subclass GraphQLView and overwrite get_root_value(self, request) to have a dynamic root value per request.

class UserRootValue(GraphQLView):
    def get_root_value(self, request):
        return request.user

License

Copyright for portions of project flask-graphql are held by Syrus Akbary as part of project sanic-graphql. All other copyright for project sanic-graphql are held by Porivav Sergey.

This project is licensed under MIT License.

About

Adds GraphQL support to your Sanic app.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 13

0