가이드

GraphQL 쿼리와 스키마 형식 지정 도구 사용 방법

공백만 있는 입력은 빈 결과로 성공하지만, 내용이 있는 일반 GraphQL 입력은 형식 지정 텍스트를 반환하기 전에 실패합니다. 따라서 실제 정리 결과보다 입력 조건과 반환 형태를 확인하는 용도로 사용하십시오.

도구 GraphQL 포맷터

GraphQL 입력 형식 지정 기능의 범위

GraphQL 쿼리 또는 스키마 텍스트를 넣고 형식 지정 결과를 확인하려는 경우에 사용할 수 있는 도구입니다. 다만 현재 확인된 동작에서는 내용이 없는 입력과 내용이 있는 입력의 결과가 뚜렷하게 다릅니다. 공백만 남긴 입력은 성공하면서 빈 결과를 돌려줍니다. 반면 실제 GraphQL 내용이 들어간 일반 문자열은 정리된 텍스트가 반환되기 전에 처리 단계에서 실패합니다. 따라서 이 도구를 쿼리 모양을 실제로 다듬는 수단으로 단정하기보다, 입력 조건과 반환 결과의 형태를 살펴보는 절차로 이해하는 편이 적절합니다. 여기서 성공은 GraphQL 문법이 맞다는 뜻이 아닙니다. 빈 결과가 반환되었다는 사실만 확인할 수 있습니다. 쿼리의 해석, 실행, 문법 검증 결과도 이 동작만으로 판단할 수 없습니다. 입력란에 텍스트를 넣기 전에 확인 목적을 정하면 결과를 과대해석하기 어렵습니다. 빈 입력을 시험할 때는 결과 크기와 설정값의 표시 방식도 함께 살펴볼 수 있습니다.

입력부터 반환 결과까지 확인하는 순서

다음 순서로 입력과 결과를 확인합니다. 1. GraphQL 쿼리 또는 스키마 텍스트를 입력란에 준비합니다. 입력은 문자열이어야 합니다. UTF-8로 바꾼 입력 크기가 1,000,000바이트를 넘으면 형식 지정 전에 실패합니다. 내용이 있는 값을 넣을 때는 이 크기 조건을 먼저 고려합니다. 2. 형식 지정 방식에 해당하는 값을 정합니다. 값을 생략하면 기본 방식은 beautify입니다. minify라는 값을 넣을 때만 축약 경로가 선택됩니다. 다른 값은 별도의 방식으로 인식되지 않고 beautify 경로로 처리됩니다. 값의 철자와 대소문자를 확인하면 선택 결과를 해석하기 쉽습니다. 3. 레벨당 들여쓰기 수를 정합니다. 내용이 있는 입력에서 기본값은 2칸입니다. 입력한 값이 숫자로 바뀌지 않거나 0보다 작거나 8보다 크면 2칸이 적용됩니다. 숫자로 바뀌는 값이라도 허용 범위를 벗어나면 기본값으로 돌아갑니다. 4. 실행 뒤 반환된 텍스트와 상태를 확인합니다. 일반적인 내용 입력은 beautify를 선택했을 때도 성공한 형식 지정 결과를 돌려주지 않습니다. minify를 선택한 경우에도 결과 텍스트가 반환되기 전에 실패합니다. 그러므로 입력 내용을 조금 바꾸는 일만으로 성공 결과가 보장되지는 않습니다. 5. 동작의 빈 입력 경로를 확인하려면 입력란을 비우거나 공백만 남깁니다. 이 상태에서는 빈 형식 지정 텍스트가 반환됩니다. 입력 크기와 출력 크기는 각각 0으로 표시됩니다. 이 경로에서는 방식이 자동으로 소문자화되지 않습니다. 들여쓰기 값도 숫자 변환이나 범위 조정을 거치지 않고 공급한 값으로 반환됩니다. 따라서 내용이 있을 때와 빈 입력일 때 설정 표시가 달라질 수 있습니다. 6. 기본 입력이 비어 있을 때 다른 입력 이름으로 문자열을 제공하는 구성도 동작에 영향을 줄 수 있습니다. 빈 기본값이 truthy 문자열로 대체된 뒤에는 그 문자열이 검사 대상이 됩니다. 대체된 값이 문자열이 아니면 형식 지정 없이 실패할 수 있습니다. 이 차이는 같은 화면에서 보이는 값과 실제로 선택된 입력이 다를 때 결과를 설명하는 데 도움이 됩니다.

반환값을 읽을 때 구분할 점

빈 입력에서 빈 텍스트와 0이라는 두 크기가 함께 보이면, 내용이 없는 입력 경로가 실행된 것으로 해석할 수 있습니다. 이 결과는 입력이 유효한 GraphQL인지 판정한 결과가 아닙니다. 방식과 들여쓰기 값이 입력한 모습으로 남아 있어도 설정이 성공적으로 정규화되었다고 보기는 어렵습니다. 내용이 있는 쿼리나 스키마를 넣은 뒤 실패하면, 형식 지정 결과가 없었다는 범위에서만 읽어야 합니다. 그 실패만으로 원문이 잘못된 GraphQL이라고 결론 내릴 수 없습니다. 반대로 원문이 올바르다고 가정해서 성공적인 정리 결과가 있다고 말할 수도 없습니다. minify 경로에는 해시 기호로 시작하는 주석처럼 보이는 텍스트를 제거하고 공백을 줄이며 일부 기호 주변의 공백을 없애려는 처리가 작성되어 있습니다. 대괄호 주변 공백은 그 처리 대상에 포함되지 않습니다. 그러나 일반적인 내용 입력은 해당 결과를 돌려주기 전에 실패하므로, 설명된 변환을 실제 반환 결과와 동일하게 취급하면 안 됩니다. 특히 원문과 의미가 보존된다고 전제하거나, 축약된 결과를 검토 없이 사용하는 방식은 피해야 합니다. 결과를 검토할 때는 반환된 텍스트가 비어 있는지, 크기 정보가 무엇인지, 입력이 공백뿐이었는지를 서로 맞춰 보십시오. 내용 입력의 실패와 빈 입력의 성공을 같은 종류의 형식 지정 성공으로 묶지 않는 것이 핵심입니다.

사용 예시

도구의 빈 입력 동작을 확인하기 위해 공백 세 개와 설정값을 넣어 반환 결과의 형태를 점검합니다.

입력란을 공백만 있는 상태로 두고 방식에는 MINIFY, 들여쓰기에는 12를 입력한 뒤 실행합니다.

빈 결과 텍스트가 반환되고 입력 크기와 출력 크기가 0으로 표시됩니다. 방식과 들여쓰기 값은 입력한 값 그대로 반환됩니다.

제한 사항

  • UTF-8 기준 1,000,000바이트를 초과하는 입력은 형식 지정 전에 실패하며, 일반적인 내용 입력도 결과 반환 전에 실패합니다. minify 경로에 작성된 공백 및 주석처럼 보이는 텍스트 변환 설명을 실제 반환 결과나 의미 보존으로 해석할 수 없습니다.

자주 발생하는 오류

  • 공백만 입력한 뒤 성공 표시를 보고 실제 쿼리도 정리된다고 오해할 수 있습니다. 빈 결과와 0 크기를 먼저 확인하고, 내용이 있는 문자열을 별도로 넣었을 때는 형식 지정 텍스트가 반환되기 전에 실패하는 동작을 구분해서 기록하십시오.

자주 묻는 질문

GraphQL 쿼리가 실제로 보기 좋게 정리되나요?

내용이 없는 입력에서는 빈 형식 지정 텍스트와 0인 입력 크기 및 출력 크기가 반환됩니다. 쿼리나 스키마처럼 내용이 있는 일반 문자열은 결과 텍스트를 돌려주기 전에 실패합니다.

minify와 beautify를 모두 성공적으로 사용할 수 있나요?

minify를 입력했을 때만 축약 경로가 선택됩니다. beautify를 포함한 다른 값은 별도 방식이 아니라 beautify 경로로 처리되며, 내용이 있는 일반 입력은 두 경로에서 결과 반환 전에 실패합니다.

들여쓰기 간격은 어떤 규칙으로 정해지나요?

내용이 있는 입력에서는 들여쓰기 값이 숫자로 바뀌지 않거나 0보다 작거나 8보다 크면 2칸으로 처리됩니다. 빈 입력에서는 숫자 변환과 범위 조정이 건너뛰어져 공급한 들여쓰기 값이 그대로 반환됩니다.

도구

GraphQL 포맷터