我们正在UI中使用Angular 5开发应用程序。需要审核用户交互并在需要时显示所有填写的表单。因此,如果用户填写表单并提交,则请求的整个JSON将保留在某处(也许在Mongo-DB中)。在另一个菜单中,一些主持人用户可以搜索审核的请求,并在用户填写表格时重新显示该表单。
虽然后端是使用Spring Boot开发的,但我还是考虑使用Servlet过滤器来审计所有JSON REST请求。在审核模式下查看时,我还在想disable
FormGroup
个对象。
但有些事情我不知道如何处理。我想为每个表单提供两个服务,一个用于从mongo-db获取数据(在审计模式下查看),另一个用于以正常形式从RDBMS获取数据。 另一个问题是我想在模式中以审核模式显示表单,我想知道如何做到这一点,因为在这种模式形式中我不能使用普通路由。是否可能没有大量重复的代码?
答案 0 :(得分:0)
后端(SpringBoot应用程序):我有类似的要求(虽然只针对后端),我们采用的方式是创建注释@Auditable并使用AOP切入点来捕获请求/附加注释的方法的响应,然后将其存储在审计文档(mongodb)中。我们还将其设为Async,因此它不会影响实际的响应时间。
UI(Angular):是的,可以不重复代码。您需要创建两个父组件,每个组件与不同的服务交互。
一个用于RDBMS,另一个用于Mongodb。
这些父组件将模型对象传递给使用@Input
查看表单的子组件。与模型对象一起,您需要传递一个布尔值来禁用或不禁用。您可以使用从父级传递的模型对象创建FormGroup
,并使用disable
上的FormGroup
属性相应地禁用它。
不确定您使用的是哪个css库,但对于Modal,您可以使用材料设计,bootstrap,ng2-bootstrap,primeng等轻松实现。 与MongoDB交互的父组件应该简单地将子包装在模态中。
您的问题可以通过许多不同的方法解决,上面只是其中之一。