GraphQL Cookbook
객체 가져오기
10 분
parse graphql api를 통한 객체 가져오기 문제 parse graphql api를 통해 데이터베이스에서 기존 객체를 가져오고 싶습니다 해결책 parse graphql을 사용하여 데이터베이스에서 기존 객체를 가져오는 두 가지 방법이 있습니다 일반 쿼리 사용 https //www back4app com/docs/parse graphql/graphql query get object#query generic 이는 모든 클래스의 객체를 가져오는 데 사용할 수 있는 쿼리입니다 클래스 쿼리 사용 https //www back4app com/docs/parse graphql/graphql query get object#query class 이는 특정 클래스의 객체를 가져오는 데 권장되는 쿼리입니다 버전 정보 실행할 parse 버전에 따라 graphql 쿼리, 변형 및 결과가 약간 다를 수 있습니다 실행 중인 parse 버전과 함께 올바른 예제를 선택하십시오 일반 쿼리 사용하기 일반 쿼리인 get get 를 사용하면 parse server는 스키마 없는 데이터베이스처럼 동작합니다 즉, 어떤 객체의 필드를 가져올지 지정할 필요가 없습니다 객체의 classname classname 과 objectid objectid , 만 입력하면 parse server가 이 객체의 모든 필드를 반환합니다 따라서 객체의 get get 일반 쿼리는 모든 클래스의 기존 객체를 가져오는 데 사용할 수 있는 쿼리입니다 특정 클래스의 기존 객체를 가져오려면 클래스 쿼리 https //www back4app com/docs/parse graphql/graphql query get object#query class 를 사용하는 것이 좋습니다 이 예제는 기존 객체와 함께 classname classname 을 사용할 경우에만 작동합니다 객체 생성 레시피를 사용하여 객체를 생성할 수 있습니다 parse server 3 8 0 request 1 query getobject { 2 get(classname "hero", objectid "rr8jmfrnks") 3 } response 1 { 2 "data" { 3 "get" { 4 "objectid" "rr8jmfrnks", 5 "name" "luke skywalker", 6 "createdat" "2019 11 04t12 42 40 723z", 7 "updatedat" "2019 11 04t12 42 40 723z" 8 } 9 } 10 } 예제 parse 3 9 0 및 이후 버전 parse 3 9 및 이후 버전에서는 일반 메서드 get 및 find가 없습니다 아래의 특정 메서드를 사용하여 객체를 검색해야 합니다 클래스 쿼리 사용 응용 프로그램의 스키마에서 객체의 클래스를 이미 생성한 경우(예 객체 생성 https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic 레시피를 사용하여), parse server는 graphql api에 이 클래스의 기존 객체를 가져오는 새로운 get\<classname> get\<classname> 쿼리를 즉시 추가합니다 따라서 객체의 클래스 쿼리는 특정 클래스의 기존 객체를 가져오는 데 권장되는 방법입니다 이 쿼리는 클래스의 데이터를 알고 있기 때문에 코드 자동 완성 및 유효성 검사와 같은 추가 기능을 자동으로 사용할 수 있습니다 이 예제는 classname classname 과 objectid objectid 가 있는 기존 객체를 사용할 때만 작동합니다 객체 생성 레시피를 사용하여 객체를 생성할 수 있습니다 parse server 3 10 0 및 이후 버전 request 1 query gethero { 2 hero(id "sgvybzpvrm5tvdm1ynbp") { 3 id, 4 name, 5 createdat, 6 updatedat 7 } 8 } response 1 { 2 "data" { 3 "hero" { 4 "id" "sgvybzpvrm5tvdm1ynbp", 5 "name" "r2 d2", 6 "createdat" "2020 02 06t13 13 26 678z", 7 "updatedat" "2020 02 06t13 13 26 678z" 8 } 9 } 10 } 이전 parse 서버 버전 parse 3 9 0 클래스 쿼리 요청 1 query gethero { 2 hero(id "ckhurmmjzw") { 3 id, 4 name, 5 createdat, 6 updatedat 7 } 8 } 응답 1 { 2 "data" { 3 "hero" { 4 "id" "ckhurmmjzw", 5 "name" "luke skywalker", 6 "createdat" "2019 11 04t12 37 22 462z", 7 "updatedat" "2019 11 04t12 37 22 462z" 8 } 9 } 10 } parse server 3 8 0 클래스 쿼리parse server 3 7 2 파스 서버 3 7 2 일반 쿼리 요청 1 query getobject { 2 objects { 3 get(classname "hero", objectid "ffyobotk85") 4 } 5 } 응답 1 { 2 "data" { 3 "objects" { 4 "get" { 5 "objectid" "ffyobotk85", 6 "name" "루크 스카이워커", 7 "createdat" "2019 07 15t01 25 20 875z", 8 "updatedat" "2019 07 15t01 25 20 875z" 9 } 10 } 11 } 12 } 클래스 쿼리 파스 서버 3 7 2 1 query gethero { 2 objects { 3 gethero(objectid "ffyobotk85") { 4 objectid, 5 name, 6 createdat, 7 updatedat 8 } 9 } 10 } 결과 파스 3 7 2 1 { 2 "data" { 3 "objects" { 4 "gethero" { 5 "objectid" "ffyobotk85", 6 "name" "루크 스카이워커", 7 "createdat" "2019 07 15t01 25 20 875z", 8 "updatedat" "2019 07 15t01 25 20 875z" 9 } 10 } 11 } 12 }