我已经开始在新项目上使用GraphQL,并且担心发送查询时生成的URL的长度。我的意思是,发出GraphQL查询时,我们最终不会达到URL长度的限制吗?有解决方法吗?
答案 0 :(得分:0)
GraphQL请求通常作为带有application/json
内容类型的POST请求发送。请求的主体是一个JSON对象,该对象包含三个属性-query
,variables
和operationName
。这里,query
是从客户端发送到服务器的整个GraphQL document,与实际操作类型无关。因此,您的请求可能类似于:
如here所述,GraphQL服务器实现通常也支持GET请求以及包括application/graphql
类型的POST请求。不过,这两种其他方法都不如前一种灵活:
query
个操作,换句话说,通常为you cannot send mutations using GET。application/graphql
内容类型的POST请求将整个请求正文视为文档,这意味着它们不提供发送变量或指定应运行文档中哪个操作的方式。您可能应该使用内容类型为application/json
的POST请求,除非您有一些独特的客户端限制来阻止这样做。