Golang Graphql мутация Решить концепцию - PullRequest
0 голосов
/ 29 января 2019

Я хочу добиться этой мутации в graphql

mutation {
  SysConfigFile {
    UpdateServer(Port: "8080") {
      Port
    }
  }
}

И я строю по разрешенному коду:

var UpdateServerType = graphql.NewObject(graphql.ObjectConfig{
    Name: "UpdateServer",
    Fields: graphql.Fields{
        "Port": &graphql.Field{
            Type: graphql.String,
        },
    },
}) 
var UpdateSysConfigFileType = graphql.NewObject(graphql.ObjectConfig{
    Name:        "UpdateSysConfigFile",
    Description: "Update system config",
    Fields: graphql.Fields{
        "UpdateServer": &graphql.Field{
            Type: UpdateServerType,
            Args: graphql.FieldConfigArgument{
                "Port": &graphql.ArgumentConfig{
                    Type: graphql.NewNonNull(graphql.String),
                },
            },
            Resolve: func(params graphql.ResolveParams) (interface{}, error) {
                log.Println("UpdateServer resolved.")
                return "8090", nil
            },
        },
    },
})

var mutationType = graphql.NewObject(graphql.ObjectConfig{
    Name:        "Mutation",
    Description: "mutation cmd",
    Fields: graphql.Fields{
        // Not OK
        "SysConfigFile": &graphql.Field{
            Type: UpdateSysConfigFileType,
        },
    },
})

Он может использоваться в Graphql API, но не в функции разрешения.Вот результат: Результат

Логика неверна?Или что-то не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...