首页 > 解决方案 > Why are GraphQL queries POST requests even when we are trying to fetch data and not update/submit new data?

问题描述

I am using Postman to fetch data from my server and when I use a REST call it is a GET request but when I use a GraphQL API call, it needs to be a POST request. Why is it so?

标签: graphqlpostman

解决方案


GraphQL 规范本身与传输无关,但是社区采用的约定是使用 POST 请求。正如评论中所指出的,一些库支持 GET 请求。但是,这样做时,查询必须作为 URL 查询参数发送,因为 GET 请求不能有正文。这对于较大的查询可能会出现问题,因为您可以轻松地在某些服务器上达到414 URI Too Long状态。

最佳实践是始终使用带有application/jsonContent-Type 的 POST 请求。


推荐阅读