【发布时间】:2018-07-16 20:55:22
【问题描述】:
如果,在(基于 React 的)Web 应用程序中,我想填充一个选择下拉列表,其内容由某些后端(Spring Boot)逻辑根据来自 UI 的输入来确定,例如
filterOptions(x) return (x < 0) ? [1,2,3] : [4,5,6];
对话框不经常打开,客户端/服务器通信开销可以忽略不计,因为它是基于 LAN 的应用程序。我有两种方法:
1) 我们可以构建一个后端端点,每当用户打开对话框时都会查询该端点。
2) 我们可以构建一个更通用的端点来获取过滤器规则集并在前端构建过滤器。
3) 你的方法在这里
IMO,1) 不是一种理想的方法,因为它使用这些过滤器端点使 api 变得混乱,并且过多地耦合前端和后端,而 2) 并没有好多少,而且实现起来仍然很奇怪。
您将如何实现这一点,您会问什么问题来确定哪种方法更适合?
【问题讨论】:
-
如果那里什么都没有写,那么(3)有什么意义呢?
-
为什么不直接获取所有下拉选项,然后在前端进行过滤?
-
我认为选项 1 仍然更好,因为我们正在向微服务架构迈进。
-
在 3) 中输入你自己的想法。获取所有选项意味着过滤器逻辑必须在前端实现,这是不可接受的。
标签: reactjs spring-boot web api-design