graphql - 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?
解决方案
GraphQL 规范本身与传输无关,但是社区采用的约定是使用 POST 请求。正如评论中所指出的,一些库支持 GET 请求。但是,这样做时,查询必须作为 URL 查询参数发送,因为 GET 请求不能有正文。这对于较大的查询可能会出现问题,因为您可以轻松地在某些服务器上达到414 URI Too Long状态。
最佳实践是始终使用带有application/json
Content-Type 的 POST 请求。
推荐阅读
- javascript - 如何在 Material UI 选择菜单中使用 SubHeaders
- angular - 在不同端点上发送角度表单
- api - 如何访问 gfs 数据的 noaa rest api
- javascript - 如何从兄弟对象数组和过滤器元素创建父子对象?
- rest - 4xx/5xx 响应的 REST API 详细级别
- windows - Windows 防火墙和 %USERPROFILE% 变量
- angular - Ionic6 + Angular9中POST方法的CORS源请求错误
- record - 是什么让 RecordIO 有吸引力
- python-3.x - Pandas DataFrame 删除具有特定字符的字符串
- tensorflow - Tensorflow 看到的 GPU,但只使用 xla_cpu 并在被告知使用 xla_gpu 时崩溃