[typescript] GraphQL 쿼리 언어
GraphQL 스키마 정의
먼저, GraphQL 스키마를 정의해야 합니다. 스키마는 데이터 타입과 쿼리 형식을 정의합니다. TypeScript를 사용하여 GraphQL 스키마를 작성할 때는 다음과 같은 방법으로 작성할 수 있습니다.
import { gql } from 'graphql-tag';
const typeDefs = gql`
type Query {
hello: String
}
`;
여기서 typeDefs는 GraphQL 스키마를 정의합니다. 이 스키마는 hello라는 필드를 가진 Query 타입을 정의하고 있습니다.
GraphQL 쿼리 실행
이제 정의한 GraphQL 스키마를 사용하여 실제 쿼리를 실행해보겠습니다. TypeScript의 경우, Apollo Client나 다른 GraphQL 클라이언트를 이용하여 서버에 쿼리를 실행할 수 있습니다.
import { ApolloClient, InMemoryCache, createHttpLink } from '@apollo/client';
import { gql } from '@apollo/client';
const client = new ApolloClient({
cache: new InMemoryCache(),
link: createHttpLink({
uri: 'http://localhost:4000/graphql',
}),
});
client
.query({
query: gql`
query {
hello
}
`,
})
.then(result => console.log(result.data));
위의 예제에서 ApolloClient를 생성하고, query 메서드를 사용하여 서버에 쿼리를 보내고 결과를 받아올 수 있습니다.
GraphQL을 TypeScript와 함께 사용하면 타입 안정성과 IDE에서의 자동 완성과 같은 혜택을 누릴 수 있습니다. 이를 통해 개발자는 데이터 요청과 응답에 대해 더욱 예측 가능하고 안전한 코드를 작성할 수 있습니다.
더 자세한 내용은 TypeScript로 GraphQL 사용하기를 참고하세요.