Spring MVC Controller常用逻辑

时间:2018-03-12 16:42:27

标签: php json spring-mvc

我正在尝试找出在Spring MVC应用程序中编写通用逻辑的最佳方法。我有一个控制器A,它将被调用,它将根据返回数据的请求属性调用任何其他控制器。

我希望在控制器A中返回响应,以便我可以编写通用的浓缩逻辑并将其发送回浏览器。我的意图是只在一个地方写富集逻辑,每个请求都经过它。

2 个答案:

答案 0 :(得分:1)

您所寻找的是HandlerInterceptorControllerAdvice

我刚才在Github上创建了一个关于Spring MVC Interception的小型存储库,它是一个小型的Spring Boot应用程序,它向您展示了如何使用Spring MVC拦截请求。

问题始终是你的主要目标:

  1. 您是否只想操纵输出(例如添加公共字段)?使用ControllerAdvice

  2. 你想在不操纵请求之前和之后调用逻辑吗?去过滤器。

  3. 您是否想要从根本上改变对象(例如用另一个对象包装)?转到HandlerInterceptor

答案 1 :(得分:0)

可能是您可以创建抽象控制器类并将常用逻辑或代码放入其中。因此,只要您想使用此公共代码,只需扩展此类并使用它。

例如:

public class AbstractController{
// common logic
}

public class A extends AbstractController{}

public class B extends AbstractController{}

public class C extends AbstractController{}