У меня есть сервер graphql, реализованный с graphql-go , и я использую Apollo на внешнем интерфейсе. Простые запросы без аргументов и мутации с использованием типов входных объектов работают нормально, но по какой-то причине передача аргумента скалярного типа в запросе возвращает ошибку:
[{"message":"Unknown type \"Int\".","locations":[{"line":1,"column":19}]}]
Мое использование не может быть проще; на стороне клиента мой запрос:
export const GET_CLIENT = gql`
query client($id: Int) {
client(id: $id) {
id
name
}
}`
, который используется в компоненте следующим образом:
<Query
query={GET_CLIENT}
variables={{
id: 1
}} />
, который разрешает это поле в бэкэнде:
// ClientQuery takes an ID and returns one client or nil
var ClientQuery = &graphql.Field{
Type: ClientType,
Args: graphql.FieldConfigArgument{
"id": &graphql.ArgumentConfig{
Type: graphql.Int,
},
},
Resolve: func(p graphql.ResolveParams) (interface{}, error) {
return p.Context.Value("service").(*model.Service).FindClientByID(id)
},
}
Я пытался передать входные объекты, строки и т. Д., Но кажется, что никакие аргументы запроса, скалярные или иные, никогда не выполняются на бэкэнде. Я пробовал как master, так и v0.7.5 из graphql-go Я что-то пропустил? Очень признательна за помощь, кажется странным, что такой элементарный элемент такого огромного блокиратора.