Biblioteca Python GraphQL basada en clases de datos
El método de inicio rápido proporciona un servidor y una CLI para comenzar rápidamente. Instalar con:
pip install " strawberry-graphql[debug-server] "
Cree un archivo llamado app.py
con el siguiente código:
import strawberry
@ strawberry . type
class User :
name : str
age : int
@ strawberry . type
class Query :
@ strawberry . field
def user ( self ) -> User :
return User ( name = "Patrick" , age = 100 )
schema = strawberry . Schema ( query = Query )
Esto creará un esquema GraphQL que definirá un tipo User
y un user
de campo de consulta único que devolverá un usuario codificado.
Para ejecutar el servidor de depuración ejecute el siguiente comando:
strawberry server app
Abra el servidor de depuración haciendo clic en el siguiente enlace: http://0.0.0.0:8000/graphql
Esto abrirá GraphiQL donde podrá probar la API.
Strawberry viene con un complemento mypy que permite verificar estáticamente su esquema GraphQL. Para habilitarlo, agregue las siguientes líneas a su configuración mypy.ini
:
[mypy]
plugins = strawberry.ext.mypy_plugin
Se proporciona una vista de Django para agregar un punto final GraphQL a su aplicación.
INSTALLED_APPS
. INSTALLED_APPS = [
..., # your other apps
"strawberry.django" ,
]
urls.py
from strawberry . django . views import GraphQLView
from . schema import schema
urlpatterns = [
...,
path ( "graphql" , GraphQLView . as_view ( schema = schema )),
]
Para admitir suscripciones a Graphql a través de WebSockets, debe proporcionar un servidor habilitado para WebSocket. Se puede hacer que el servidor de depuración admita WebSockets con estos comandos:
pip install ' strawberry-graphql[debug-server] '
pip install ' uvicorn[standard] '
Usamos poesía para gestionar dependencias, para comenzar sigue estos pasos:
git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install --with integrations
poetry run pytest
Para obtener más detalles, consulte la página de contribución.
Tenemos una configuración para confirmación previa, para agregar el enlace ejecute el siguiente comando:
pre-commit install
El código de este proyecto tiene la licencia MIT. Consulte LICENCIA para obtener más información.