Chcę zbudować aplikację internetową z JavaScript dla interfejsu i C# dla zaplecza i chcę określić wartość GraphQL.Jak połączyć schemat w "GraphQL dla .NET" i "Relay"?
- Dla mojego C# back end używam implementacji GraphQL o nazwie GraphQL for .NET.
- Dla mojego przedniego końca, chciałbym użyć Relay, ponieważ gra dobrze z ReactJS.
teraz na plecach koniec I wdrożone przykładowy schemat jak w one of the examples który wygląda tak:
public class StarWarsSchema : Schema
{
public StarWarsSchema()
{
Query = new StarWarsQuery();
}
}
W moim przednim końcu, teraz trzeba powiedzieć Relay jakoś o tym schemacie. Przynajmniej to rozumiem podczas przechodzenia przez samouczki, ponieważ z jakiegoś powodu zapytania GraphQL muszą zostać transponowane. To jest przykład jak jak chciałbym, aby załadować wszystkie Droids:
class Content extends React.Component<ContentProps, { }> {
...
}
export default Relay.createContainer(Content, {
fragments: {
viewer:() => Relay.QL`
fragment on User {
query HeroNameQuery {
droids {
id
name
}
}
}
`,
}
});
W one of the examples dla przekaźnika, widziałem, że babel-relay-plugin służy do konwersji. Otrzymuje plik schematu (JSON). Przekaźnik przekaźnika Getting Started pokazuje, jak utworzyć taki schemat za pomocą graphql-js i graphql-relay-js.
Teraz moje pytania:
- Czy naprawdę trzeba tworzyć schematy na przedniej i na tylnej końca?
- Jaki jest sens nauczania Przekaż mój schemat, ponieważ back-end już korzysta ze schematu, aby zwrócić dobrze uformowane dane?
- Jakie są korzyści z używania przekaźnika w tym scenariuszu? Co mógłbym stracić, gdybym po prostu uzyskał dostęp do zaplecza za pośrednictwem regularnego punktu końcowego REST wraz z zapytaniem GraphQL jako parametrem?
Dziękuję za wyjaśnienia. Tymczasem zdałem sobie sprawę, że schema.json jest potrzebny w procesie transpozycji podczas budowania kodu frontendowego z zapytań GraphQL. –