Pustaka Python GraphQL berdasarkan kelas data
Metode mulai cepat menyediakan server dan CLI untuk bekerja dengan cepat. Instal dengan:
pip install " strawberry-graphql[debug-server] "
Buat file bernama app.py
dengan kode berikut:
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 )
Ini akan membuat skema GraphQL yang mendefinisikan tipe User
dan satu bidang kueri user
yang akan mengembalikan pengguna yang di-hardcode.
Untuk menjalankan server debug, jalankan perintah berikut:
strawberry server app
Buka server debug dengan mengklik tautan berikut: http://0.0.0.0:8000/graphql
Ini akan membuka GraphiQL tempat Anda dapat menguji API.
Strawberry hadir dengan plugin mypy yang memungkinkan pengecekan tipe statis pada skema GraphQL Anda. Untuk mengaktifkannya, tambahkan baris berikut ke konfigurasi mypy.ini
Anda:
[mypy]
plugins = strawberry.ext.mypy_plugin
Tampilan Django disediakan untuk menambahkan titik akhir GraphQL ke aplikasi Anda.
INSTALLED_APPS
Anda. INSTALLED_APPS = [
..., # your other apps
"strawberry.django" ,
]
urls.py
Anda. from strawberry . django . views import GraphQLView
from . schema import schema
urlpatterns = [
...,
path ( "graphql" , GraphQLView . as_view ( schema = schema )),
]
Untuk mendukung Langganan graphql melalui WebSockets, Anda perlu menyediakan server yang mendukung WebSocket. Server debug dapat dibuat untuk mendukung WebSockets dengan perintah berikut:
pip install ' strawberry-graphql[debug-server] '
pip install ' uvicorn[standard] '
Kami menggunakan puisi untuk mengelola dependensi, untuk memulai ikuti langkah-langkah berikut:
git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install --with integrations
poetry run pytest
Untuk semua detail lebih lanjut, lihat Halaman Berkontribusi
Kami memiliki konfigurasi untuk pra-komit, untuk menambahkan hook, jalankan perintah berikut:
pre-commit install
Kode dalam proyek ini dilisensikan di bawah lisensi MIT. Lihat LISENSI untuk informasi lebih lanjut.