strawberry
? 0.253.1
基于数据类的 Python GraphQL 库
快速启动方法提供服务器和 CLI 来快速启动。安装:
pip install " strawberry-graphql[debug-server] "
使用以下代码创建一个名为app.py
的文件:
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 )
这将创建一个 GraphQL 架构,定义一个User
类型和一个将返回硬编码用户的单个查询字段user
。
要运行调试服务器,请运行以下命令:
strawberry server app
单击以下链接打开调试服务器:http://0.0.0.0:8000/graphql
这将打开 GraphiQL,您可以在其中测试 API。
Strawberry 附带了一个 mypy 插件,可以对 GraphQL 模式进行静态类型检查。要启用它,请将以下行添加到mypy.ini
配置中:
[mypy]
plugins = strawberry.ext.mypy_plugin
提供了 Django 视图,用于将 GraphQL 端点添加到您的应用程序。
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 )),
]
要支持通过 WebSocket 进行 graphql 订阅,您需要提供启用 WebSocket 的服务器。可以使用以下命令使调试服务器支持 WebSocket:
pip install ' strawberry-graphql[debug-server] '
pip install ' uvicorn[standard] '
我们使用诗歌来管理依赖关系,开始时请按照以下步骤操作:
git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install --with integrations
poetry run pytest
有关所有更多详细信息,请查看贡献页面
我们有预提交的配置,要添加挂钩,请运行以下命令:
pre-commit install
该项目中的代码已获得 MIT 许可。请参阅许可证了解更多信息。