Postgraphile "Only `POST` requests are allowed." 错误
Postgraphile "Only `POST` requests are allowed." error
我在本地安装了 Postgres 运行ning。我可以使用 psql postgres:///reviewapp
在本地访问数据库,使用 \dt
我可以看到一些表。
如果我 运行 npx postgraphile -c "postgres:///reviewapp"
我在终端中没有收到任何错误:
PostGraphile v4.12.4 server listening on port 5000
‣ GraphQL API: http://localhost:5000/graphql
‣ GraphiQL GUI/IDE: http://localhost:5000/graphiql (RECOMMENDATION: add '--enhance-graphiql')
‣ Postgres connection: postgres:///reviewapp
‣ Postgres schema(s): public
‣ Documentation: https://graphile.org/postgraphile/introduction/
‣ Node.js version: v14.15.5 on darwin x64
‣ Join Mark in supporting PostGraphile development: https://graphile.org/sponsor/
* * *
但是当我转到 http://localhost:5000/graphql
时,屏幕上出现错误:
{"errors":[{"message":"Only
POST requests are allowed."}]}
这是因为当您在浏览器的地址栏中输入您的地址时,会发送一个 GET 请求,而您的 Postgraphile 实例只接受 POST 请求。所以这就是问题所在。您要么避免发送 GET 请求,要么尝试确保 Postraphile 也接受 GET 请求。
一个非常简单的解决方案是创建一个非常简单的小型网站作为代理,并在加载时向 http://localhost:5000/graphql[发送 POST 请求=11=]
有一张 GitHub 票据建议使用中间件,请阅读此以获取更多信息:https://github.com/graphile/postgraphile/issues/442
您正在访问使用 GraphQL 的 /graphql
端点(通过 POST 请求),但您正在向它发送 Web 请求(通过 GET)。相反,使用 /graphiql
端点来查看 GraphiQL GraphQL IDE - 这个端点使用 web,并且会给你一个很好的接口来与 /graphql
端点通信。请参阅 PostGraphile 命令的输出:
‣ GraphQL API: http://localhost:5000/graphql
‣ GraphiQL GUI/IDE: http://localhost:5000/graphiql (RECOMMENDATION: add '--enhance-graphiql')
我建议您将 --enhance-graphiql
选项添加到 PostGraphile CLI 以在浏览器中获得更强大的 IDE。
我在本地安装了 Postgres 运行ning。我可以使用 psql postgres:///reviewapp
在本地访问数据库,使用 \dt
我可以看到一些表。
如果我 运行 npx postgraphile -c "postgres:///reviewapp"
我在终端中没有收到任何错误:
PostGraphile v4.12.4 server listening on port 5000
‣ GraphQL API: http://localhost:5000/graphql
‣ GraphiQL GUI/IDE: http://localhost:5000/graphiql (RECOMMENDATION: add '--enhance-graphiql')
‣ Postgres connection: postgres:///reviewapp
‣ Postgres schema(s): public
‣ Documentation: https://graphile.org/postgraphile/introduction/
‣ Node.js version: v14.15.5 on darwin x64
‣ Join Mark in supporting PostGraphile development: https://graphile.org/sponsor/
* * *
但是当我转到 http://localhost:5000/graphql
时,屏幕上出现错误:
{"errors":[{"message":"Only
POST requests are allowed."}]}
这是因为当您在浏览器的地址栏中输入您的地址时,会发送一个 GET 请求,而您的 Postgraphile 实例只接受 POST 请求。所以这就是问题所在。您要么避免发送 GET 请求,要么尝试确保 Postraphile 也接受 GET 请求。
一个非常简单的解决方案是创建一个非常简单的小型网站作为代理,并在加载时向 http://localhost:5000/graphql[发送 POST 请求=11=]
有一张 GitHub 票据建议使用中间件,请阅读此以获取更多信息:https://github.com/graphile/postgraphile/issues/442
您正在访问使用 GraphQL 的 /graphql
端点(通过 POST 请求),但您正在向它发送 Web 请求(通过 GET)。相反,使用 /graphiql
端点来查看 GraphiQL GraphQL IDE - 这个端点使用 web,并且会给你一个很好的接口来与 /graphql
端点通信。请参阅 PostGraphile 命令的输出:
‣ GraphQL API: http://localhost:5000/graphql
‣ GraphiQL GUI/IDE: http://localhost:5000/graphiql (RECOMMENDATION: add '--enhance-graphiql')
我建议您将 --enhance-graphiql
选项添加到 PostGraphile CLI 以在浏览器中获得更强大的 IDE。