伟大的技术进步从未停止,尤其是在网络领域。然而,当谈到REST(Representational State Transfer)API时,我们仍然应该遵循十多年前罗伊·菲尔丹(Roy Fielding)在2008年提出的重要原则 —— REST APIs必须是超文本驱动的。
超文本驱动的概念强调的是数据的自描述性。它使得REST API成为一个独立的实体,不需要依赖客户端或服务器之间的奇妙协议。相反,它使用超文本链接将应用程序和用户界面相互连接。
正如菲尔丹本人所指出的,REST是一种架构风格,而不仅仅是一种通信协议。它基于超文本引擎概念,即客户端通过解析和遵循超文本响应中的链接,来完成用户界面的导航和操作。
不幸的是,大多数现代REST API并没有真正实现这个超文本驱动的理念。相反,它们更倾向于将API视为简单的数据存储和交换机制。这种方式会给应用程序增加额外的负担,因为它们需要硬编码对API的调用和请求,而无法从超文本本身获取足够的信息。
超文本驱动的REST API有许多优点。首先,它们提供了无限的灵活性和可扩展性,因为超文本响应可以随时更改。这意味着客户端可以利用API的变化而不需要进行额外的开发工作。
其次,超文本驱动的API使得发现和探索成为可能,因为它们通过链接与其他资源相互关联。这使得API的使用变得更加容易,并且可以在不修改代码的情况下进行扩展。
此外,超文本驱动的REST API也具有更好的可读性。响应中的超文本链接不仅有助于减少文档的复杂性,还提供了客户端必要的上下文信息。
随着互联网的不断发展,超文本驱动的REST API已经被证明是一个非常有前途的理念。它不仅可以改善客户端和服务器之间的通信,还可以提供更大的灵活性和可扩展性。
因此,无论我们是开发者还是用户,都应该意识到REST APIs必须是超文本驱动的。让我们回到2008年罗伊·菲尔丹明智的建议,并努力将这一理念融入我们的API设计中。通过这种方式,我们可以构建出更加智能、灵活和友好的应用程序,为未来的网络世界奠定坚实基础。
了解更多有趣的事情:https://blog.ds3783.com/