Movatterモバイル変換


[0]ホーム

URL:


Перейти к содержанию
Join theFastAPI Cloud waiting list 🚀
Follow@fastapi onX (Twitter) to stay updated
FollowFastAPI onLinkedIn to stay updated
Subscribe to theFastAPI and friends newsletter 🎉
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor

GraphQL

🌐 Перевод выполнен с помощью ИИ и людей

Этот перевод был сделан ИИ под руководством людей. 🤝

В нем могут быть ошибки из-за неправильного понимания оригинального смысла или неестественности и т. д. 🤖

Вы можете улучшить этот перевод,помогая нам лучше направлять ИИ LLM.

Английская версия

Так какFastAPI основан на стандартеASGI, очень легко интегрировать любую библиотекуGraphQL, также совместимую с ASGI.

Вы можете комбинировать обычныеоперации пути FastAPI с GraphQL в одном приложении.

Совет

GraphQL решает некоторые очень специфические задачи.

У него есть какпреимущества, так инедостатки по сравнению с обычнымивеб-API.

Убедитесь, чтовыгоды для вашего случая использования перевешиваютнедостатки. 🤓

Библиотеки GraphQL

Ниже приведены некоторые библиотекиGraphQL с поддержкойASGI. Их можно использовать сFastAPI:

GraphQL со Strawberry

Если вам нужно или хочется работать сGraphQL,Strawberryрекомендуемая библиотека, так как её дизайн ближе всего к дизайнуFastAPI, всё основано нааннотациях типов.

В зависимости от вашего сценария использования вы можете предпочесть другую библиотеку, но если бы вы спросили меня, я, скорее всего, предложил бы попробоватьStrawberry.

Вот небольшой пример того, как можно интегрировать Strawberry с FastAPI:

importstrawberryfromfastapiimportFastAPIfromstrawberry.fastapiimportGraphQLRouter@strawberry.typeclassUser:name:strage:int@strawberry.typeclassQuery:@strawberry.fielddefuser(self)->User:returnUser(name="Patrick",age=100)schema=strawberry.Schema(query=Query)graphql_app=GraphQLRouter(schema)app=FastAPI()app.include_router(graphql_app,prefix="/graphql")

Подробнее о Strawberry можно узнать вдокументации Strawberry.

А также в документации поинтеграции Strawberry с FastAPI.

УстаревшийGraphQLApp из Starlette

В предыдущих версиях Starlette был классGraphQLApp для интеграции сGraphene.

Он был объявлен устаревшим в Starlette, но если у вас есть код, который его использовал, вы можете легкомигрировать наstarlette-graphene3, который решает ту же задачу и имеетпочти идентичный интерфейс.

Совет

Если вам нужен GraphQL, я всё же рекомендую посмотретьStrawberry, так как он основан на аннотациях типов, а не на пользовательских классах и типах.

Подробнее

Подробнее оGraphQL вы можете узнать вофициальной документации GraphQL.

Также можно почитать больше о каждой из указанных выше библиотек по приведённым ссылкам.


[8]ページ先頭

©2009-2026 Movatter.jp