2017-01-29 53 views
9

Czy można używać dziedziczenia z typami wejściowymi GraphQL?Czy typ wejścia GraphQL może dziedziczyć z innego typu lub interfejsu?

Coś takiego (to oczywiście nie działa z typów wejść):

interface UserInputInterface { 
    firstName: String 
    lastName: String 
} 

input UserInput implements UserInputInterface { 
    password: String! 
} 

input UserChangesInput implements UserInputInterface { 
    id: ID! 
    password: String 
} 
+1

Czy kiedykolwiek znalazłeś odpowiedź na swoje pytanie? Stoję naprzeciwko tego samego! – LB2

+3

@ LB2 Niestety nie, zachowuję 2 oddzielne typy w tym momencie powtarzające właściwości. – kyrisu

+0

Dzięki! Próbuję reprezentować wyrażenie boolean (podobnie jak klauzula WHERE SQL), a bez dziedziczenia wydaje się niemożliwe, aby wyrazić arbitralne wyrażenie binarne bez możliwości bzdur składni. Bummer, że nie jest częścią tego języka. – LB2

Odpowiedz

2

Nie, spec nie pozwala typy wejść do wdrożenia interfejsów. A system typu GraphQL w ogóle nie definiuje żadnej formy dziedziczenia. Nawet interfejsy nie mogą dziedziczyć innych interfejsów. Spec jest celowo ograniczony, aby pozostać prostym. Oznacza to, że utknąłeś powtarzając pola między typami danych wejściowych.