GraphQL은 페이스북에서 개발된 쿼리 언어이자 런타임입니다. GraphQL은 RESTful API를 대체할 수 있는 강력하고 유연한 방법을 제공합니다. 이번 글에서는 Flask에서 GraphQL을 사용하는 방법을 알아보겠습니다.
Flask-GraphQL 설치하기
Flask-GraphQL은 Flask 애플리케이션에서 GraphQL을 사용할 수 있도록 도와주는 라이브러리입니다. Flask-GraphQL을 설치하기 위해 다음 명령을 실행합니다:
pip install flask-graphql
Flask 애플리케이션 설정
Flask 애플리케이션에서 GraphQL을 사용하려면 몇 가지 설정이 필요합니다. 먼저 Flask 앱 객체를 생성합니다:
from flask import Flask
from flask_graphql import GraphQLView
app = Flask(__name__)
다음으로 GraphQL 스키마를 정의합니다. 스키마는 쿼리와 뮤테이션의 유형을 정의하는 역할을 합니다. 아래는 간단한 예시입니다:
from graphene import ObjectType, String, Schema
class Query(ObjectType):
hello = String(name=String(default_value="World"))
def resolve_hello(self, info, name):
return f"Hello {name}!"
schema = Schema(query=Query)
마지막으로 GraphQL 뷰를 Flask 애플리케이션에 등록합니다:
app.add_url_rule('/graphql', view_func=GraphQLView.as_view('graphql', schema=schema, graphiql=True))
이제 Flask 애플리케이션의 설정이 완료되었습니다.
GraphQL 요청 보내기
GraphQL의 강력한 기능 중 하나는 클라이언트가 필요로 하는 데이터를 정확히 요청할 수 있다는 점입니다. GraphQL 요청은 기본적으로 POST
방식으로 보내야 합니다. 아래는 간단한 GraphQL 요청의 예시입니다:
import requests
query = """
query {
hello(name: "Alice")
}
"""
response = requests.post('http://localhost:5000/graphql', json={'query': query})
print(response.json())
위 예시에서는 “Alice”라는 이름으로 hello
쿼리를 보내고 응답을 출력합니다.
결론
Flask에서 GraphQL을 사용하는 방법을 알아보았습니다. Flask-GraphQL을 설치하고 Flask 앱 객체를 생성한 후 스키마를 정의하여 GraphQL을 쉽게 사용할 수 있습니다. GraphQL의 강력한 기능을 활용하여 웹 응용 프로그램을 개발하고 데이터를 효율적으로 요청하는데 도움이 될 것입니다.