BACK

how to adjust header height with apollo in shopify

Working with GraphQL - 2 of 3 各位 欢迎回来,在上个视频中 我们介绍了一些 相当基础的主题,比如API限流是什么,Shopify的漏桶算法是什么,在这个视频中 我们要专门

ShopifyDevs

Updated on Mar 15,2023

Working with GraphQL - 2 of 3

The above is a brief introduction to how to adjust header height with apollo in shopify

Let's move on to the first section of how to adjust header height with apollo in shopify

Let TThunt's experts help you find the best TikTok product on your Shopify business!

Find TikTok products (It's Free)
No difficulty
No complicated process
Find winning products
3.5K Ratings

WHY YOU SHOULD CHOOSE TTHUNT

TThunt has the world's largest selection of TikTok products to choose from, and each product has a large number of advertising materials, so you can choose advertising materials for TikTok ads or Facebook ads without any hassle.

how to adjust header height with apollo in shopify catalogs

Working with GraphQL - 2 of 3

各位 欢迎回来,在上个视频中 我们介绍了一些 相当基础的主题,比如API限流是什么,Shopify的漏桶算法是什么,在这个视频中 我们要专门讲解GraphQL,它有什么优势?我们为什么推荐用它?,有什么可以通过GraphQL实现,但不一定能通过标准REST API实现?,我们其实同样也准备了很多文档,就像之前一样 会在视频描述中放出链接,那就看一看 什么是GraphQL?,GraphQL的出现弥补了,REST API缺失的一些功能,在设计REST API时就未纳入的功能,GraphQL用起来更加简单,不像REST标准的,增(POST)、查(GET) 改(PUT)、删(DELETE)请求,每个GraphQL请求,要么归为查询 要么归为变更,查询只读取数据 而变更执行其他操作,比如创建、更新以及删除数据,在这里我们能够查询许多信息,正如我们之前所说 在限流方面,接收一个对象一般成本很低,大概只需要消耗1个点数,由于修改进行了预先标准化,从限流来看 大概消耗10个点数,但有时它会超出实际消耗点数,我们稍后会展示几个例子,尤其要强调一点,请求次数 使用REST API的话,为了获取所有感兴趣的数据 必须要发出的HTTP请求次数,我们拿产品举个例子,比如您有产品ID 您想获取所有的产品数据,还有所有的产品图片,多属性以及元字段,因为在我们的REST实现中 那些都是独立的端点,所以需要四次分开的HTTP调用,这会实际占据桶里十分之一的空间,或者说如果刷新率是每秒两次调用 那需要两秒才能再装满,GraphQL的工作方式略有不同,您其实可以在一次GraphQL查询中,从多个不同的相关对象上获取数据 下面看一下如何进行,在我们的演示商店上 我刚安装上Shopify GraphQL应用,您也可以在Google中搜索它 把它安装到自己的商店上,它真的很适合在后台快速开展 负面GraphQL测试,我要快速运行一次查询,我要查看商店中的第一个产品,我想获取这个产品的ID和描述,但我也想看看商店里第一个多属性,并得到这个多属性的条码,想获取的最后两样是,图片和元字段,运行这个请求后,您可以看到这里返回了,我想要的数据 没有返回我不想要的,如果我们来浏览一下屏幕,刚好就会看到我请求的ID、描述,以及多属性信息,但这里没有多属性ID 也没有其他信息,因此我知道 系统返回的是,我请求的数据 也是我能处理的,本身没有过度获取,如果我们看看Insomnia 操作起来恐怕就不是这么回事了,如果我发出一次请求,系统会返回 与这个订单相关的一切数据,这里我传递了订单ID,我可能不会对全部数据都感兴趣,确实很多吧?,我往下滑 看到大概有350行JSON数据,我不能 像其他端点那样 传递任一字段参数,指定我要获取的字段 这样返回的还是全部数据,但通过GraphQL,就能够做出这样的修改,这些是之前打出来的 因此我要撤销它们,但其实您能够返回 写些类似的命令,我要进行查询,在这次查询中 我希望返回的是某个订单,这个订单要有一个ID,输入shopify/Order/,哦 它出来了,这就是我的GraphQL查询 目的是获取完全相同,或具体的订单 但我只想了解一个属性,我想知道这个订单是否已付款,我可以把这信息存到数据库之类的,那我就发出这个请求,返回值为确认 即已付全款,这个操作只消耗了1个点数,我总共有一千个点数可用,而每秒钟会复原50个点数,这样我就非常清晰地了解容量极限,以及目前的剩余空间,如果发出REST API 调用请求 返回的是类似的数据,再说一次 这里用的是Insomnia,您可以随意用任何其他 HTTP客户端 比如Postman,但当我发出请求时 在请求头响应中,我们传递的是Shopify专属请求头,叫做"shop-api-call-limit",它会显示 您已经使用了多少API限流,如果我快速再多调用几次,您会看到最终这个数字会上升到四或五,需要等一会儿的原因是,显然 您在刷新或者 复原其中两次调用,因为它们从桶中漏出去了,所以才需要等一下,但它总能准确告诉您 在这一刻 您还剩下多少API限流,再说几个其他优势,Shopify能理解您请求哪些数据,这点很好懂,如果您对REST API发出调用请求,我们不知道哪些数据您要用 哪些您不用,比如我们要发布新功能,我们需要一些beta测试人员,甚至可能要提前通知用户,如果我们知道之后 某版本就要弃用了,如果您使用的是 GraphQL变更,我们知道您要获取特定字段 或者做出特定变更,就可以通知您 因为我们知道这将让您受影响,最后 说点其他的优势 GraphQL还有一些其他优势,但我要强调的是 GraphQL有自己的模式,所以无论您发起查询还是变更,就会完全清楚自己能访问哪些数据,这样就可以规避,REST实现可能容易出现的错误,因此 无论是基础还是结构上 从架构角度来看,有些特别重要的点要注意,比如必须发出的HTTP请求数 还有获取的数据量,但除此之外 这一技术的优势在于,允许我们实现,通过REST API不一定能实际的操作,比如批量操作,Shopify有一些 GraphQL专属功能,它们一般能提高整体效率,我们最后会发布更多这类功能,如果您在考虑选REST 还是GraphQL,确实需要考虑上面这点,GraphQL实现能为您带来更多可能性,什么是批量查询实现?,我们的批量查询变更 抱歉口误,它能让您给Shopify委派一个长期任务,由Shopify代表您执行任务 并在完成后通知您,包含两部分 向我们发起查询请求,我们来处理查询并在完成后通知您 然后您下载数据,如果您不执行批量变更,系统一般就要求您对数据集进行分页,比如REST中 一次响应中只会返回250个商品,而GraphQL中虽然每次消耗点数不同,但终归您每次请求能消耗的点数受限,但批量API却不是这样 您在这个例子中就可以看出,同样 在此教程中 下方列出了任何其他文档的链接,但是在这个例子中,我们请求的是获取此商店中 的所有不同产品,可能有成千上万个产品,显然需要更多时间处理,可能有一百万个产品,同样也需要更长时间处理,但我最终得到的响应包含全部产品,尤其其中有产品ID和标题,这样或许我们能把 它们存储在自己的服务器上,供自己处理,因此您发给我们一个请求 我们处理该请求,我们允许您调用另一个端点 来观察它何时完成,最终您可以下载这个文件,它有什么用例吗?,您可能会安装一个做数据处理的应用,可能想向商家展示美观的控制面板,当他们第一次安装您的应用时,您就能批量下载他们的全部数据,这样您就能运行商业智能工具等,给他们提供所寻找的信息,或者 对于webhook批量处理 它们就很有用,因为能够始终保证实现webhook推送,这样您可以通过批量变更,实现恢复或计划的cron任务,比如每天我要获取前一天的所有订单,在这个例子中是要获取所有产品,但您也能很容易地传递别的参数,我们要获取就在那一天创建的产品,您知道通过批量操作 您会获得一份详尽列表,里面包括所有您可能收到或没收到的数据,很酷,另一个非常酷的用例是,“InventoryBulkAdjust QuantityAtLocation”变更,有点拗口 但还是酷,它允许您在一次变更中,就同一地点的库存,最多更新100件不同产品的库存数量,在REST中 每件的库存水平对应一次调用,如果要更新100件 就要调用100次 而在GraphQL中 只有一次变更,在桶容量1000个点数,或者说在50个点数复原率的前提下 只消耗10个点数,它还有许多优势,尤其在多零售地点 或其他能影响库存的方面,您希望Shopify与其他系统保持同步,但一些更高效且扩展性更好的请求,集中在GraphQL上,因此它绝对值得您深入了解,非常感谢各位观看此视频,我们谈了GraphQL的一些优势,下个视频会简单介绍一个Ruby应用,使用Shopify API gem发出调用,碰到真实的API调用限流 然后处理它,敬请期待 我们下个视频见

Congratulation! You bave finally finished reading how to adjust header height with apollo in shopify and believe you bave enougb understending how to adjust header height with apollo in shopify

Come on and read the rest of the article!

Browse More Content