Apollo-link-rest: 与路径参数斗争

创建于 2018-06-18  ·  4评论  ·  资料来源: apollographql/apollo-link-rest

我试图将 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
            }
        }
    }
}

但它根本不起作用。 参数没有传递给请求。 最后一个变体有效,但看起来不太好:

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
            }
        }
    }
}
bug 🐛 enhancement💡

所有4条评论

基于文档中的示例...很确定您需要将其定义为:

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 无法解压输入类型。

我最近没有时间研究如何实现解包。 (通过参数或其他我很乐意根据要求记录的语法)

我认为这应该是固定的,或者可能只是过时了,因为我们现在使用新的 param 语法。

此页面是否有帮助?
0 / 5 - 0 等级