flask graphql
v2.0.1
Flask 응용 프로그램에 GraphQL 지원을 추가합니다.
flask_graphql 에서 GraphQLView 보기 만 사용하십시오
from flask import Flask
from flask_graphql import GraphQLView
from schema import schema
app = Flask ( __name__ )
app . add_url_rule ( '/graphql' , view_func = GraphQLView . as_view (
'graphql' ,
schema = schema ,
graphiql = True ,
))
# Optional, for adding batch query support (used in Apollo-Client)
app . add_url_rule ( '/graphql/batch' , view_func = GraphQLView . as_view (
'graphql' ,
schema = schema ,
batch = True
))
if __name__ == '__main__' :
app . run () 이렇게하면 앱에 엔드 포인트를 추가 /graphql 하고 GraphIQL IDE를 활성화합니다.
Schema 유형의 그래 핀 라이브러리를 사용하는 경우 graphql_schema 속성을 사용하여 GraphQLView 보기에서 스키마로 전달하십시오. 그렇지 않으면 graphql-core 의 GraphQLSchema 가 갈 길입니다.
그래 핀 v3 릴리스 노트 및 GraphQL-Core 3 사용법의 추가 정보.
schema : 유효한 요청을받을 때보기를 실행하려는 GraphQLSchema 객체.context : context_value 로 graphql로 전달할 값은 함수를 execute . 기본적으로 키 request 에서 요청 객체와 함께 dict 로 설정됩니다.root_value : GraphQL execute 에 제공하려는 root_value .pretty : 응답이 Pretty Printed JSON이되기를 원하는지 여부.graphiql : True 인 경우 브라우저에서 직접로드 할 때 GraphIQL을 제시 할 수 있습니다 (디버깅 및 탐색에 유용한 도구).graphiql_version :로드 할 graphiql 버전. 기본값은 "1.0.3" 입니다.graphiql_template : jinja 템플릿 문자열을 주입하여 GraphIQL을 사용자 정의하십시오.graphiql_html_title : 표시 할 graphiql 제목. 기본값은 "Graphiql" 입니다.batch : GraphQL보기를 배치로 설정합니다 (Apollo-Client 또는 Reactrelaynetworklayer에서 사용)middleware : GraphQL Middlewares 목록.encode : 응답에 사용할 인코더 ( graphql_server.json_encode 에 대한 기본값).format_error : 응답에 사용할 오류 형식 ( graphql_server.default_format_error 에 대한 기본값이 현명하게 기본적으로 사용됩니다.subscriptions : GraphQL-Ws에서 구독을 사용하기위한 GraphIQL 소켓 엔드 포인트.headers : 초기 표시된 요청 헤더로 사용할 옵션 GraphQL 문자열이 제공되지 않으면 저장된 헤더가 사용됩니다.default_query : 쿼리가 제공되지 않고 이전 세션에서 저장된 쿼리가 없을 때 사용할 옵션 그래프 QL 문자열이 있습니다. 제공되지 않으면 GraphIQL은 자체 기본 쿼리를 사용합니다.header_editor_enabled : 옵션 부울. 기본값으로 거짓 .should_persist_headers : true 일 때 헤더를 저장소로 유지할 수있는 선택적 부울. 기본값으로 거짓 . 서브 클래스 GraphQLView 및 get_root_value(self, request) 를 덮어 쓰면 요청 당 동적 루트 값을 가질 수도 있습니다.
class UserRootValue ( GraphQLView ):
def get_root_value ( self , request ):
return request . user V3 이후 flask-graphql 코드는 GraphQL-Server 저장소에 거주하여 기본 패키지의 차단을 다른 모든 통합과 동기화합니다. 기여하려면 Contributing.md를 살펴보십시오.