HTTP API 和调用它的 GUI 之间的关注点分离

Serparation of concerns between HTTP API and GUI that calls it

我正在使用 HTTP API。从某种意义上说,这是一种家庭自动化 API。实际上更像是一个 RPC 接口,但它表示为 HTTP API.

支持 放:http://server/resource 正文;Json = { 'action':'value' }

好的。现在我想创建一个 GUI(在我的例子中是 HTTP/CSS,但这对这个问题无关紧要)。 GUI 将有一个按钮来调用这些操作中的每一个。所以 GUI 需要:

  1. 有效操作列表(明确 API 责任)
  2. 'value' PUT 'ACTION'(API 责任)
  3. 每个按钮一个图标(???谁负责)
  4. 每个按钮的文本标签' (??? 谁是 负责)

如果 API 发生变化,我不想 compile/rebuild Gui,所以我想将按钮配置存储在某种元数据中。

所以,问题是;维护关注点分离,其职责是此元数据。 API 或 GUI。

如果我将它放在 API 中,那么多个 GUI 可以获取此元数据并且看起来都相似并且会对 API 中的变化做出反应。

但是,图标等确实感觉像是 GUI 数据。

我真的需要一些帮助来理解如何拆分这些层并仍然保持良好的关注点分离的最佳实践。

提前致谢

这将需要对您的应用程序做出大量假设,但听起来这些确实是 GUI 问题,应该保留在 GUI 中。如果您开始做一些事情,比如让 API 负责 GUI 的显示,您就不再创建 API,而是在创建 Web 应用程序。

现在,话虽这么说,您的 API 听起来有点太笼统了,也许将 API 包装在 Web 应用程序中是正确的做法,但那将是与您最初的问题范围有很大偏差。