기존 GraphiQL 서비스에서 Schema 가져오기
우선 GraphiQL의 Schema 종류입니다.
확장자는 입니다.graphql
확장자는 입니다.json
GraphiQL의 Schema를 획득하는 방법
1. 대상GraphiQL 서비스
이번에는 GiitHub APIv4에서 schema를 얻으려고 합니다.
2. 방문 영패 발행
여기에 따라 방문 영패를 발행해 주십시오.
권한은 최소한으로 문제없다.
3. get-graphiql-Sschema 설치
이번에는 GrapgQL 패키지를 사용합니다.
다음 명령을 사용하여 설치하십시오.
npm install -g get-graphql-schema
4.schema의 획득
get-graphil-schema를 사용하면.형식이라도제이슨 형식이든 어떤 schema든 얻을 수 있습니다.
graphiql 형식으로 얻을 때
get-graphql-schema -h 'Authorization=Bearer <②で取得したAccessToken>' https://api.github.com/graphql > schema.graphql
.json 형식으로 얻었을 때get-graphql-schema -j -h 'Authorization=Bearer <②で取得したAccessToken>' https://api.github.com/graphql > schema.json
GraphiQL의 Schema 사용 방법
나는 로컬에서GraphiQL Playground를 시작하는 모크 서버를 사용했다.
GraphiQL Playground를 사용하는 게 습관이 돼서요.
나한테는 편해.
GraphiQL Playground의 mock 서버를 로컬에서 시작하려면 다음과 같이 하십시오.
npm install -g graphql-playground-mock
graphql-playground-mock <④で取得したschemaのファイル名>
mock 서버를 시작하면 액세스http://localhost:4000/GraphiQL Playground에 액세스할 수 있습니다.Postman은 다른 용도로GraphiQL의query를 쓸 때도 사용할 수 있습니다.
Schema를 얻기 힘든 방법입니다.
GraphiQL의 Schema는 IntrospectionQuery를 사용하여 확인할 수 있습니다.
그러나 모든 Schema 정의를 얻으려면 POST 아래의 질의가 필요합니다.
curl https://api.github.com/graphql \
-H 'Authorization: Bearer 7af842efa2f2c92676759f97dbeb4ef7d3635909' \
-H 'content-type: application/json' \
--data-binary '{"operationName":"IntrospectionQuery","variables":{},"query":"query IntrospectionQuery {\n __schema {\n queryType {\n name\n }\n mutationType {\n name\n }\n subscriptionType {\n name\n }\n types {\n ...FullType\n }\n directives {\n name\n description\n locations\n args {\n ...InputValue\n }\n }\n }\n}\n\nfragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n}\n\nfragment InputValue on __InputValue {\n name\n description\n type {\n ...TypeRef\n }\n defaultValue\n}\n\nfragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n}\n"}' \
--compressed
모드를 획득할 때 이렇게 긴 조회를 일일이 작성할 수 없으니 반드시 사용하십시오get-graphql-schema
.
Reference
이 문제에 관하여(기존 GraphiQL 서비스에서 Schema 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nekoshita/articles/7c454e8e552c0d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)