GraphQL Explorer 정보
GraphQL Explorer는 GraphiQL의 인스턴스, 즉 “그래픽 대화형 브라우저 내 GraphQL IDE”입니다.
Altair GraphQL 클라이언트 IDE 사용
많은 오픈 소스 GraphQL 클라이언트 IDE가 있습니다. 예를 들어 Altair를 사용하여 GitHub의 GraphQL API에 액세스할 수 있습니다. Altair를 사용하여 GraphQL API에 액세스하려면 altair-graphql/altair에서 다운로드하여 설치합니다. 그런 다음, 아래 구성 단계를 수행합니다.
Altair 구성
- 액세스 토큰을 가져옵니다.
- Altair를 시작합니다.
- 왼쪽 사이드바의 Altair 로고 아래에서 머리글 설정을 클릭합니다. 새 창이 열립니다.
- "헤더 키" 필드에 를 입력합니다
Authorization
. - "헤더 값" 필드에 를 입력하고 를
TOKEN
첫 번째 단계의 토큰으로 바꿉Bearer TOKEN
니다. - 창의 오른쪽 아래 모서리에서 저장 을 클릭하여 권한 부여 헤더를 저장합니다.
- "GraphQL 엔드포인트" 필드에 를 입력합니다
https://api.github.com/graphql
. - GitHub GraphQL 스키마를 로드하려면 공용 스키마를 다운로드합니다.
- Altair에서 오른쪽 위에 있는 문서를 클릭한 다음, 세 개의 점과 스키마 로드... 를 클릭합니다.
- 이전 단계에서 다운로드한 파일 공용 스키마를 선택합니다.
참고: 이 메서드인 이유에 POST
대한 자세한 내용은 "GraphQL을 사용하여 호출 형성"을 참조하세요.
직접 쿼리하여 액세스를 테스트할 수 있습니다.
query {
viewer {
login
}
}
모든 것이 올바르게 작동하면 로그인이 표시됩니다. 쿼리 만들기를 시작할 준비가 완료되었습니다.
사이드바 문서에 액세스
GraphQL 스키마의 모든 형식에는 문서로 컴파일된 description
필드가 포함됩니다. Explorer 페이지의 오른쪽에 있는 축소 가능한 문서 창을 사용하면 형식 시스템에 대한 설명서를 찾아볼 수 있습니다. 문서는 자동으로 업데이트되며 사용되지 않는 필드를 삭제합니다.
Docs 사이드바에는 "GitHub GraphQL API 설명서"의 스키마에서 자동으로 생성되는 동일한 콘텐츠가 포함되어 있지만, 다른 위치에 서식이 지정됩니다.
변수 창 사용
일부 예제 호출에는 다음과 같이 작성된 변수가 포함됩니다.
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
줄 바꿈을 이스케이프하는 한 명령의 요청을 사용하여 POST
호출을 curl
제출하는 올바른 형식 입니다.
Explorer에서 호출을 실행하려면 기본 창에 query
세그먼트를 입력하고 그 아래에 있는 쿼리 변수 창에 변수를 입력합니다. Explorer에서 단어 variables
를 생략합니다.
{
"number_of_repos": 3
}
지원 요청
GitHub Apps, OAuth Apps, API 개발에 대한 질문, 버그 보고서 및 토론은 GitHub 커뮤니티에 대한 API 및 통합 토론을(를) 탐색합니다. 토론은 GitHub 직원에 의해 조정되고 유지 관리되지만 포럼에 게시된 질문은 GitHub 직원으로부터 회신을 받을 수 없습니다.
연락처 양식을 사용하여 GitHub 지원에 직접 연락하는 것이 좋습니다.
- GitHub 직원의 보장된 응답
- 중요한 데이터 또는 개인 문제와 관련된 지원 요청
- 기능 요청
- GitHub 제품에 대한 피드백
문제 해결 오류
GraphQL은 내적이므로 Explorer는 다음을 지원합니다.
- 현재 스키마를 인식하는 지능형 자동 완성
- 입력할 때 유효성 검사 오류 미리 보기
형식이 올바르지 않거나 스키마 유효성 검사를 통과하지 않은 쿼리를 입력하면 팝업에서 오류를 경고합니다. 쿼리를 실행하면 응답 창에서 오류가 반환됩니다.
GraphQL 응답에는 data
해시 및 errors
배열과 같은 여러 키가 포함됩니다.
{
"data": null,
"errors": [
{
"message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
"locations": [
{
"line": 5,
"column": 8
}
]
}
]
}
스키마와 관련이 없는 예기치 않은 오류가 발생할 수 있습니다. 이 경우 메시지에는 이슈를 보고할 때 사용할 수 있는 참조 코드가 포함됩니다.
{
"data": null,
"errors": [
{
"message": "Something went wrong while executing your query. This is most likely a GitHub bug. Please include \"7571:3FF6:552G94B:69F45B7:5913BBEQ\" when reporting this issue."
}
]
}
참고: GitHub에서는 프로덕션 환경에서 데이터를 사용하기 전에 오류를 확인할 것을 권장합니다. GraphQL에서 실패는 전체가 아닙니다. GraphQL 쿼리의 일부는 성공하고 나머지는 실패할 수 있습니다.