我看过的各种讲座以及我在REST上扫描的教程似乎都在强调一种称为“可发现性”的东西。据我有限的理解,该术语似乎意味着客户应该能够http://URL
-自动获得其可以做的事情的清单。
我难以理解的是-“软件客户”不是人类。它们只是程序,没有直观的知识来理解与所提供的链接的确切关系。只有人可以访问网站并理解所显示的文本和链接并对其进行操作。
那么,当访问此类可发现URL的客户端代码实际上无法对其进行任何操作时,除非客户端的人工开发人员实际尝试了所提供的资源,可发现性的意义何在?这看起来与在《文档》手册中定义可用功能集完全一样,只是方向不同,实际上需要为开发人员进行更多工作。为什么第二种预定义可以在实际REST资源外部的文档中完成的工作的方法被认为是次等的呢?