목록전체 글 (68)
현인
유효성 검증이 끝나면, GraphQL 쿼리는 GraphQL 서버에서 실행된다. 서버에서는 요청된 쿼리와 동일한 모습의 형식을 가진 결과를 리턴한다.GraphQL은 타입 시스템 없이는 쿼리를 실행할 수 없으므로, 쿼리 실행을 설명하기 위해 예시 타입 시스템을 사용해보겠다. 이는 이 글들의 예시들에서 사용된 동일한 타입 시스템의 일부이다.type Query { human(id: ID!): Human} type Human { name: String appearsIn: [Episode] starships: [Starship]} enum Episode { NEWHOPE EMPIRE JEDI} type Starship { name: String}쿼리가 실행될 때 어떤 일이 일어나는지 설명하기 위해, ..
타입 시스템을 활용하면, GraphQL 쿼리가 유효한지 미리 정의할 수 있다. 서버와 클라이언트 개발자에게 유효하지 않은 쿼리가 생성되었을 때 런타임 확인을 따로 거치지 않고 정보를 효율적으로 전달할 수 있다.Star Wars 예제에서, starWarsValidation-test.ts 파일은 다양한 유효하지 않은 쿼리들을 보여주며, 참조 구현의 검증기를 실행하는 테스트 파일이다.먼저, 복잡하지만 유효한 쿼리를 살펴보자. 이는 이전 섹션의 예제와 유사한 중첩 쿼리지만, 중복된 필드들이 프래그먼트로 분리되어 있다:{ hero { ...NameAndAppearances friends { ...NameAndAppearances friends { ...NameAndApp..
GraphQL 타입 시스템은 API에서 어떤 데이터를 쿼리할 수 있는지 설명한다. 이러한 기능의 컬렉션을 서비스의 스키마라고 하며 클라이언트는 해당 스키마를 사용하여 예측 가능한 결과를 반환하는 API에 쿼리를 보낼 수 있다.GraphQL은 모든 백엔드 프레임워크나 프로그래밍 언어와 함께 사용할 수 있으므로 구현에 따른 세부사항은 피하고 개념에 대해서만 이야기를 해보자타입 시스템GraphQL 쿼리 언어는 기본적으로 객체의 필드를 선택하는 것이다. 다음 예제를 보면{ hero { name appearsIn }}{ "data": { "hero": { "name": "R2-D2", "appearsIn": [ "NEWHOPE", "EMPIRE", ..