Я пытаюсь передать params в аргумент params следующим образом :
query{
tumblrPosts @rest(type: "TumblrPosts", path: "/posts", params: {api_key: $api_key, tag: $tag}) {
response {
posts {
title,
summary,
body,
type,
post_url,
tags
}
}
}
}
Но это совсем не сработало. Params на запрос не перешел. Последний вариант работает, но выглядит не очень красиво:
query{
tumblrPosts(api_key: $api_key, tag: $tag) @rest(type: "TumblrPosts", path: "/posts?api_key=:api_key&tag=:tag") {
response {
posts {
title,
summary,
body,
type,
post_url,
tags
}
}
}
}
Основываясь на примере в документации ... наверняка вам нужно определить его как:
query GetTumblrPosts($api_key: String!, $tag: String!) {
...
Привет @ i-hun, ваш пример кода действительно предлагается некоторыми из наших документов. К сожалению, до создания этой функции мы не дошли.
Совет @fc - это именно то, как система работает сегодня. Вы можете объединить оба ваших примера:
query GetTumblrPosts($api_key: String!, $tag: String!) {
tumblrPosts(api_key: $api_key, tag: $tag) @rest(type: "TumblrPosts", path: "/posts?api_key=:api_key&tag=:tag") {
response {
posts {
title,
summary,
body,
type,
post_url,
tags
}
}
}
}
Я хотел бы исправить это как для вас, так и для всех, кто читает это, поскольку в настоящее время наш API не может распаковывать типы ввода.
В последнее время у меня не было времени исследовать, как реализовать распаковку. (Через параметры или другие синтаксисы, которые я буду рад задокументировать по запросу)
Я думаю, что это должно быть исправлено или, возможно, просто устарело, так как теперь мы используем новый синтаксис параметров.