Компонент GraphiQL принимает schema
prop:
schema
: экземпляр GraphQLSchema или null
, если он не используется. Если указано undefined
, GraphiQL отправит запрос на самоанализ с использованием средства извлечения для создания схемы.
Вы можете использовать getIntrospectionQuery
, чтобы получить полную схему самоанализа, получить результат самоанализа и затем использовать его для построения схемы.
const { getIntrospectionQuery, buildClientSchema } = require('graphql')
const response = await fetch('ENDPOINT_URL', {
method: 'post',
headers: { 'Content-Type': 'application/json' },
body: { query: JSON.stringify(getIntrospectionQuery()) },
})
const introspectionResult = await response.json()
const schema = buildClientSchema(introspectionResult.data)
Сделайте это перед тем, как визуализировать компонент, а затем просто передайте схему в качестве реквизита. Если ваша схема не изменится, вы также можете просто сохранить результат самоанализа в файл и использовать его вместо запроса к серверу.