GraphQL¶
🌐 Traducción por IA y humanos
Esta traducción fue hecha por IA guiada por humanos. 🤝
Podría tener errores al interpretar el significado original, o sonar poco natural, etc. 🤖
Puedes mejorar esta traducciónayudándonos a guiar mejor al LLM de IA.
ComoFastAPI se basa en el estándarASGI, es muy fácil integrar cualquier paquete deGraphQL que también sea compatible con ASGI.
Puedes combinar laspath operations normales de FastAPI con GraphQL en la misma aplicación.
Consejo
GraphQL resuelve algunos casos de uso muy específicos.
Tieneventajas ydesventajas en comparación con lasAPIs web comunes.
Asegúrate de evaluar si losbeneficios para tu caso de uso compensan losinconvenientes. 🤓
Paquetes de GraphQL¶
Aquí algunos de los paquetes deGraphQL que tienen soporteASGI. Podrías usarlos conFastAPI:
- Strawberry 🍓
- Ariadne
- Tartiflette
- ConTartiflette ASGI para proporcionar integración con ASGI
- Graphene
GraphQL con Strawberry¶
Si necesitas o quieres trabajar conGraphQL,Strawberry es el paqueterecomendado ya que tiene un diseño muy similar al diseño deFastAPI, todo basado enanotaciones de tipos.
Dependiendo de tu caso de uso, podrías preferir usar un paquete diferente, pero si me preguntas, probablemente te sugeriría probarStrawberry.
Aquí tienes una pequeña vista previa de cómo podrías integrar Strawberry con 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")Puedes aprender más sobre Strawberry en ladocumentación de Strawberry.
Y también la documentación sobreStrawberry con FastAPI.
GraphQLApp viejo de Starlette¶
Las versiones anteriores de Starlette incluían una claseGraphQLApp para integrar conGraphene.
Fue deprecada de Starlette, pero si tienes código que lo usaba, puedes fácilmentemigrar astarlette-graphene3, que cubre el mismo caso de uso y tiene unainterfaz casi idéntica.
Consejo
Si necesitas GraphQL, aún te recomendaría revisarStrawberry, ya que se basa en anotaciones de tipos en lugar de clases y tipos personalizados.
Aprende Más¶
Puedes aprender más sobreGraphQL en ladocumentación oficial de GraphQL.
También puedes leer más sobre cada uno de esos paquetes descritos arriba en sus enlaces.







