Ошибка: директивное ограничение в Graphql йоге при использовании ограничений - PullRequest
2 голосов
/ 10 мая 2019

Я использую сервер Graphql с Prisma. но когда я пытаюсь запустить код, я получаю эту ошибку Я использую

const { GraphQLServer } = require('graphql-yoga')
const { prisma } = require('./generated/prisma-client')  

Это ошибка

Error: Directive constraint: Couldn't find type constraint in any of the schemas.
at collectDirective (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:113:23)
at Array.forEach (<anonymous>)
at collectNode (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:105:25)
at D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:87:13
at Array.forEach (<anonymous>)
at collectNewTypeDefinitions (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:86:30)
at Object.completeDefinitionPool (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:23:41)
at Object.importSchema (D:\project\Starter\server\node_modules\graphql-import\dist\index.js:99:67)
at mergeTypeDefs (D:\project\Starter\server\node_modules\graphql-yoga\dist\index.js:420:37)
at new GraphQLServer (D:\project\Starter\server\node_modules\graphql-yoga\dist\index.js:95:34)

Я попытался удалить ограничение из модели данных, но ошибка сохраняется

@constraint(
   maxLength:650,
   minLength:20
   )

кто-нибудь получил такую ​​же или похожую ошибку? Спасибо

1 Ответ

0 голосов
/ 11 мая 2019

Я нашел решение этой проблемы Наконец, это была проблема с печатанием, директива не была объявлена ​​и поэтому не распознавалась graphql-yoga, поэтому я добавил объявление директивы в файл schema.graphql, который содержит объявление всех сущностей, и это сработало

directive @constraint(
  maxLength:Int!
) on FIELD_DEFINITION

Так что здесь GraphQl-йога может найти Директиву. Надеюсь, что это поможет вам Я не знаю точно, как это работает изнутри, но это решило мою проблему

...