在Angular应用程序中审核和重新显示用户交互

时间:2018-04-17 21:59:47

标签: angular spring-boot audit

我们正在UI中使用Angular 5开发应用程序。需要审核用户交互并在需要时显示所有填写的表单。因此,如果用户填写表单并提交,则请求的整个JSON将保留在某处(也许在Mongo-DB中)。在另一个菜单中,一些主持人用户可以搜索审核的请求,并在用户填写表格时重新显示该表单。

虽然后端是使用Spring Boot开发的,但我还是考虑使用Servlet过滤器来审计所有JSON REST请求。在审核模式下查看时,我还在想disable FormGroup个对象。

但有些事情我不知道如何处理。我想为每个表单提供两个服务,一个用于从mongo-db获取数据(在审计模式下查看),另一个用于以正常形式从RDBMS获取数据。 另一个问题是我想在模式中以审核模式显示表单,我想知道如何做到这一点,因为在这种模式形式中我不能使用普通路由。是否可能没有大量重复的代码?

1 个答案:

答案 0 :(得分:0)

后端(SpringBoot应用程序):我有类似的要求(虽然只针对后端),我们采用的方式是创建注释@Auditable并使用AOP切入点来捕获请求/附加注释的方法的响应,然后将其存储在审计文档(mongodb)中。我们还将其设为Async,因此它不会影响实际的响应时间。

UI(Angular):是的,可以不重复代码。您需要创建两个父组件,每个组件与不同的服务交互。 一个用于RDBMS,另一个用于Mongodb。 这些父组件将模型对象传递给使用@Input查看表单的子组件。与模型对象一起,您需要传递一个布尔值来禁用或不禁用。您可以使用从父级传递的模型对象创建FormGroup,并使用disable上的FormGroup属性相应地禁用它。

不确定您使用的是哪个css库,但对于Modal,您可以使用材料设计,bootstrap,ng2-bootstrap,primeng等轻松实现。 与MongoDB交互的父组件应该简单地将子包装在模态中。

您的问题可以通过许多不同的方法解决,上面只是其中之一。