允许对 /graphql 端点进行 GET 请求,而不是 POST

问题描述 投票:0回答:1

我们正在研究 Apollo 和 Strapi 的自动持久查询,因为我们面临着 graphQL 响应时间缓慢的问题。 我非常轻松地设置 APQ(感谢 Strapi 论坛中的对话:https://forum.strapi.io/t/caching-graphql-query-results-with-strapi/1407/4

在我们的前端 Next.js 应用程序中,我们使用 urql(轻量级 apollo 客户端替代方案),并且有一个选项可以使用我们启用的查询发送 GET 请求。

我们想要将 GET 请求发送到 GraphQL 而不是 POST 的原因是我们还想启用 Cloudfront CDN 缓存,并且 Cloudfront 不缓存 POST 请求,而只缓存 GET 请求。

使用 urql,如果我们使用哈希向 graphQL 发送 POST 请求,一切正常并且返回数据,但使用 GET 请求时,我们会得到以下带有 200 状态代码的输出:

{
    "errors": [
        {
            "message": "Forbidden access",
            "extensions": {
                "error": {
                    "name": "ForbiddenError",
                    "message": "Forbidden access",
                    "details": {}
                },
                "code": "FORBIDDEN"
            }
        }
    ],
    "data": {
        "about": null
    }
}

任何有关如何解决该问题的帮助将不胜感激。

javascript graphql apollo strapi apollo-server
1个回答
0
投票

转至 Strapi 界面中的仪表板设置。从那里,访问用户和权限插件部分并选择角色。在角色中,导航到公共角色并向端点分配必要的权限。

Check This Attachment

© www.soinside.com 2019 - 2024. All rights reserved.