스키마 확장출력 확장
출력 확장
GraphQL 사양은 응답 형식을 상세하게 정의하고 있으며, 반환되는 맵에서 사용해야 할 최상위 항목을 규정합니다. 쿼리된 데이터는 data 항목 아래에 추가되고, 오류는 errors 항목 아래에 추가됩니다.
그러나 로그, 경고, 제안 등 추가 정보를 출력해야 하는 경우도 있습니다. 이러한 항목은 사양에서 다루지 않으며, 독자적인 최상위 항목으로 추가하는 것은 금지되어 있습니다. 대신 GraphQL 사양은 자유롭게 활용할 수 있는 특별한 위치를 제공하며, 원하는 커스텀 데이터를 전달할 수 있습니다. 바로 최상위 extensions 항목입니다.
Response Format 섹션에서 설명된 바와 같이:
The response map may also contain an entry with key
extensions. This entry, if set, must have a map as its value. This entry is reserved for implementors to extend the protocol however they see fit, and hence there are no additional restrictions on its contents.
Gato GraphQL의 「Proactive Feedback」 기능은 이 기능을 활용하여 GraphQL API의 응답을 확장하고 추가 정보를 제공합니다:
- Deprecations
- Warnings
이를 통해 쿼리의 개선 사항을 알리기 위한 추가 정보를 사용자에게 제공할 수 있습니다:
{
"extensions": {
"warnings": [
{
"message": "Dynamic variable with name 'props' had already been set, had its value overridden",
"locations": [
{
"line": 4,
"column": 25
}
]
}
]
},
"data": {
"posts": {
"excerpt": "Hello world!",
"Content": "<p>Hello world!</p>"
}
}
}Prev
Next