Spring RequestMapping参数自定义注释

时间:2013-06-19 20:07:42

标签: spring annotations

在我的网络应用程序中,我有很多地方需要检索当前记录的帐户(来自会话)。

Account account = getAccountFromSession(session);

这段代码重复多次。我想知道是否可以让我的请求看起来像这样:

@RequestMapping(value="/something", method=RequestMethod.POST)
public String handleSomething(
        @RequestParam String someParam,
        @Account Account account) { ... }

其中@Account是我的自定义注释。

如何告诉spring处理此注释?

1 个答案:

答案 0 :(得分:3)

使用HandlerMethodArgumentResolver(或WebArgumentResolver用于3.1以下的版本。)

启用参数解析器:

  • 如果您使用@EnableWebMvc - 请使用@Configuration工具WebMvcConfigurer并覆盖addArgumentResolvers()
  • 如果您使用<mvc:annotation-driven> - 请使用argument-resolvers属性
  • 对于旧版本,您可能需要手动声明AnnotationMethodHandlerAdapter并设置其customArgumentResolvers