Существует необязательный объект resolverValidationOptions
, который можно передать в makeExecutableSchema
для обеспечения некоторых дополнительных проверок распознавателя, как показано здесь :
requireResolversForArgs
заставить makeExecutableSchema
выдавать ошибку, если для поля с аргументами не определена функция разрешения. requireResolversForNonScalar
заставит makeExecutableSchema
выдать ошибку, если в нескалярном поле не определен определитель. Установка этого значения на true
может быть полезна при обнаружении ошибок, но по умолчанию имеет значение false, чтобы избежать путаницы для тех, кто поступает из других библиотек GraphQL. requireResolversForAllFields
утверждает, что все поля имеют действительную функцию разрешения. requireResolversForResolveType
потребуется метод resolveType()
для типов интерфейса и объединения. Это может быть передано с определителями полей как __resolveType (). False для отключения предупреждения. allowResolversNotInSchema
отключает функциональность, которая выдает ошибки при обнаружении распознавателей, которых нет в схеме. По умолчанию false
, чтобы помочь обнаруживать распространенные ошибки.
Ни одно из них не предназначено специально для полей only типов root, но вы можете использовать один или несколько.
Эти опции не предоставляются напрямую через ApolloServer, но вы всегда можете сделать:
const schema = makeExecutableSchema({ typeDefs, resolvers, resolverValidationOptions })
const apollo = new ApolloServer({ schema })