Tengo problemas, cuando la ruta FastAPI usa la aplicación call graphQL, encontré el error que se muestra a continuación.
RuntimeError: mensaje ASGI inesperado 'http.response.start' enviado, después de que la respuesta ya se completó.
Sé que puedo app.mount(graphql_app) o app.add_route, pero nuestra empresa quiere este estilo.
@router.post('/') def graph_ql(): passaquí está mi código.
from starlette_graphene3 import GraphQLApp import graphene def create_graphql_app( query: graphene.types.ObjectType = None, mutation=None, subscription=None ) -> GraphQLApp: """ Args: query: graph_ql query mutation: graph_ql update and insert subscription: graph_ql streaming data Returns: """ schema = graphene.Schema( query=query, mutation=mutation, subscription=subscription ) graphql_app = GraphQLApp( schema=schema, on_get=make_graphiql_handler() # Graphiql IDE ) return graphql_app graphql_app = create_graphql_app(query=Query) router = APIRouter() @router.post('/') async def graph_query(request: Request): return await graphql_app( scope=request.scope, receive=request.receive, send=request.send )