REST可发现性和HATEOAS是否意味着您可以更改URI?

Eug*_*gen 9 rest uri hateoas restful-url discoverability

我正在尝试澄清与REST可发现性相关的概念 - 即是否满足RESTful服务的HATEOAS约束意味着现在URI可以更改,因为它们是可发现的并且没有记录.

这似乎不遵循Cool URI的概念- URI永远不会改变的事实.它与网络本身的模型(REST应该基本上完全适合)有点不一致 - 这个URL是可收藏的,永远不会改变的事实,而且你曾经学过一个这样的事实,你可以直接进入它,你可以做到这一点不必经过根,每次都发现它.

任何有关此的反馈表示赞赏.

Bri*_*lly 6

对于酷URI,不 - 你永远不应该改变它们.它们是您系统的入口点.但是,如果您希望将来能够发展系统的其余URI结构,那么您应该只有很少的那些.

对于任何非酷URI,它们确实可以随时间变化.我最近写了一篇关于这个主题的博客文章,因为我发现REST能够让我随着时间的推移不断发展我的系统,这非常有用.

确保您的API文档明确指出,系统中只有少数Cool URI应该由客户端进行硬编码,并且应该在运行时通过超媒体遍历发现任何其他URI.把它们想象成一个C指针地址:没有人会关心指针变量的十六进制值是什么,但是他们肯定会希望它指向内存中的有效位置.您的非Cool URI也是如此 - 它们的结构无关紧要,但它们是在运行时通过与服务器的对话检索它们的事实使它们有效.