私有 REST API 成熟度级别和额外的复杂层
Private REST API maturity levels, and extra layers of complexity
这是我的第一个基于 REST 的项目,目前使用 Spring 进行开发。当我开始学习和实施 REST 时,我觉得我开始对封闭的 API 进行过度设计,它基本上是一个 CRUD,主要是它只服务于一个 Web 应用程序。
感觉这里Resource的概念用的不是很好,而且HATEOAS(maturity level 3)因为后台和前台在同一个办公室,感觉有点别扭而且我认为该项目不会扩展到 HATEOAS 大放异彩的亚马逊级别,HAL 似乎也使事情复杂化并且对我们没有任何好处。
在此期间,我了解了 REST 对于 public API 的强大功能,但在我们的案例中,私有 API,我看不到好处。
我应该以什么心态来处理私有 API 设计并考虑 REST 架构(如果甚至需要 REST)?
这是一个自以为是的问题,所以对这里写的所有内容持保留态度。
在我看来,成熟度级别 3 对于内部 API 没有意义。如果您可以控制和更新 API 客户端,HATEOAS 增加的灵活性并不能证明增加的协议复杂性是合理的。正如您所指出的,当您无法控制客户时,HATEOAS 的主要优势就会显现出来。
在我看来,停止在成熟度级别 2 足够好适合您的场景。
不过话又说回来,我不完全理解你的上下文和你的可进化性要求。
这是我的第一个基于 REST 的项目,目前使用 Spring 进行开发。当我开始学习和实施 REST 时,我觉得我开始对封闭的 API 进行过度设计,它基本上是一个 CRUD,主要是它只服务于一个 Web 应用程序。
感觉这里Resource的概念用的不是很好,而且HATEOAS(maturity level 3)因为后台和前台在同一个办公室,感觉有点别扭而且我认为该项目不会扩展到 HATEOAS 大放异彩的亚马逊级别,HAL 似乎也使事情复杂化并且对我们没有任何好处。
在此期间,我了解了 REST 对于 public API 的强大功能,但在我们的案例中,私有 API,我看不到好处。 我应该以什么心态来处理私有 API 设计并考虑 REST 架构(如果甚至需要 REST)?
这是一个自以为是的问题,所以对这里写的所有内容持保留态度。
在我看来,成熟度级别 3 对于内部 API 没有意义。如果您可以控制和更新 API 客户端,HATEOAS 增加的灵活性并不能证明增加的协议复杂性是合理的。正如您所指出的,当您无法控制客户时,HATEOAS 的主要优势就会显现出来。
在我看来,停止在成熟度级别 2 足够好适合您的场景。
不过话又说回来,我不完全理解你的上下文和你的可进化性要求。