🙌🏽 检查注册表
我们的 API 变更已部署到生产环境,让我们来看看 Apollo 模式注册表。
变更日志 页面
进入你的部署图表在
显示在变更日志中的条目是交互式的。例如,当我们点击durationInSeconds
构建一个新的测试查询
我们将命名我们的查询,并通过侧边栏添加GetTrackAndModuleDurations
。在这里我们可以看到length
字段现在被灰色显示,并且有一个小警告图标显示我们的弃用消息。
我们仍然可以向我们的查询中添加弃用的字段,但弃用警告将始终存在,提醒我们应该使用新的字段。
让我们添加新的durationInSeconds
字段。对于这个查询,我们还将查询它的模块列表,以及length
和durationInSeconds
字段。我们还可以看到模块的length
字段也已弃用。
query GetTrackAndModuleDurations($trackId: ID!) {track(id: $trackId) {lengthdurationInSecondsmodules {lengthdurationInSeconds}}}
在运行查询之前,请确保给trackId
变量赋上我们最喜欢的值c_0
。将以下内容添加到变量面板中:
{"trackId": "c_0"}
在运行查询后,我们可以在响应中看到这两个字段都成功解析并具有相同的值!
@deprecated
指令的字段是正确的?我们的模式已经更新,但我们还没有完成我们的计划!第3步是监控旧字段的使用情况,然后我们才能进行第4步,即完全删除旧字段。我们可以使用注册表来跟踪API状态和字段级的使用情况。
📉 字段使用
让我们转到字段页面,探索我们当前模式的当前状态,包括所有类型和字段。
字段执行的次数代表在给定期间服务器执行特定字段的解析函数的次数。
引用操作,另一方面,列出了一个给定期间内包含特定字段的操作次数。
注意:默认情况下,此时期设置为前一天,但我们可以通过切换页面顶部的筛选器来自定义范围。
处理弃用字段
从字段页的字段指标中我们可以看出,我们的弃用length
字段仍然在使用。
我们希望确保这个字段的使用量降为零。要做到这一点,我们需要对我们的客户端应用进行一些修改,将所有的length
出现都替换为durationInSeconds
。然后我们进行提交、推送和部署。
注意:我们将将这些更改留给您作为练习的作业!在部署到生产环境之前,请确保在本地上测试您的更改。
完成客户端的这些更改后,我们的API更改将在服务器和客户端两侧全面推出!
从实习生猫宇航员的视角来看,一切都应该和以前一样运行。但在幕后,我们正在使用新的字段。
将此框中的项目拖放到上面的空白处
重命名旧字段
@replacement
指令监控旧字段的利用率
监控新字段的利用率
删除旧字段
添加新的替换字段
废弃旧字段
使用
@deprecated
指令
恭喜你让我们的API变得更好一点!🎉 我们现在对如何修改和改进API有了很好的了解。在最后一课中,我们将探讨如何跟上我们API的脉动,并探讨我们可以将它带到哪里。
分享您对这节课的问题和评论
您的反馈有助于我们改进!如果您遇到困难或困惑,请告诉我们,我们会帮您解决。所有评论都是公开的,并且必须遵守 Apollo行为准则。请注意,已解决或处理的评论可能会被删除。
您需要GitHub账户才能在下面发表评论。还没有吗? 请在我们的Odyssey论坛上发表评论。