예제 #1
0
            public HumanType(StarWarsData data)
            {
                Name = "Human";
                Field(h => h.Id).Description("The id of the human.");
                Field(h => h.Name, nullable: true).Description("The name of the human.");

                Field <ListGraphType <CharacterInterface> >("friends", resolve: context => data.GetFriends(context.Source));
                Field <ListGraphType <EpisodeEnum> >("appearsIn", "Which movie they appear in.");
                Field(h => h.HomePlanet, nullable: true).Description("The home planet of the human.");

                Interface <CharacterInterface>();
            }
예제 #2
0
            public DroidType(StarWarsData data)
            {
                Name        = "Droid";
                Description = "A mechanical creature in the Star Wars universe.";

                Field(d => d.Id).Description("The id of the droid.");
                Field(d => d.Name, nullable: true).Description("The name od the droid.");

                Field <ListGraphType <CharacterInterface> >("friends", resolve: context => data.GetFriends(context.Source));
                Field <ListGraphType <EpisodeEnum> >("appearsIn", "Which movie they appear in.");
                Field(d => d.PrimaryFunction, nullable: true).Description("The primary function of the droid.");

                Interface <CharacterInterface>();
            }
예제 #3
0
        public StarWarsQuery(StarWarsData data)
        {
            Name = "Query";

            Field <CharacterInterface>("hero", resolve:
                                       context => data.GetDroidByIdAsync("3"));
            Field <HumanType>("human", arguments:
                              new QueryArguments(
                                  new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "id", Description = "id of the human"
            })
                              , resolve: context => data.GetHumanByIdAsync(context.GetArgument <string>("id")));
            Field <DroidType>("droid", arguments:
                              new QueryArguments(
                                  new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "id", Description = "id of the droid"
            })
                              , resolve: context => data.GetDroidByIdAsync(context.GetArgument <string>("id")));
        }