используя типы объединений в GraphQL typedDefs - PullRequest
0 голосов
/ 12 мая 2018

Я печатаю свой typedDefs и для одного свойства он может вернуть либо String или Boolean.

const typeDefs = `
    type Analysis {
    id: String
    analysisName: String
    creator: String
    description: String
    datesValid: String 
}
`

Я хочу, чтобы datesValid было либо String, либо Boolean.Я попытался:

const typeDefs = `
    ...
    datesValid: boolString 
}

union boolString = String | Boolean
`

Но это привело к внутренней ошибке сервера 500 при попытке выполнить запрос через GraphiQL.

Моя конечная цель - набрать его как String | Boolean

1 Ответ

0 голосов
/ 13 мая 2018

В соответствии со спецификацией типа GraphQL объединения могут быть только созданными из типов объектов .Это означает, что то, что вы хотите сделать, невозможно.

Я уверен, что есть другой способ решения вашей проблемы.Может быть, обнуляемый тип даты решает вашу проблему?Или перечисление, которое может иметь несколько значений (например, VALID, INVALID, PENDING)?В крайних случаях ваш собственный скалярный тип может служить цели.

Обычно эти ограничения в спецификациях также предназначены для того, чтобы помочь людям создавать непротиворечивые и простые в использовании API.

...