在我的网络应用程序中,我有很多地方需要检索当前记录的帐户(来自会话)。
Account account = getAccountFromSession(session);
这段代码重复多次。我想知道是否可以让我的请求看起来像这样:
@RequestMapping(value="/something", method=RequestMethod.POST)
public String handleSomething(
@RequestParam String someParam,
@Account Account account) { ... }
其中@Account是我的自定义注释。
如何告诉spring处理此注释?
答案 0 :(得分:3)
使用HandlerMethodArgumentResolver
(或WebArgumentResolver
用于3.1以下的版本。)
启用参数解析器:
@EnableWebMvc
- 请使用@Configuration
工具WebMvcConfigurer
并覆盖addArgumentResolvers()
<mvc:annotation-driven>
- 请使用argument-resolvers
属性AnnotationMethodHandlerAdapter
并设置其customArgumentResolvers