将@CookieValue,@ RequestHeader等映射到Spring Controller中的POJO

时间:2016-01-27 10:04:03

标签: spring spring-mvc

我的控制器中有一堆参数,并希望将所有这些参数映射到单独的POJO以保持可读性。还有一个@CookieValue,@ RequestHeader我需要评估并寻求一个解决方案来将它们映射到那个POJO。但是如何?

我在博客上看到了一个可能的解决方案,但它不起作用,变量保持为空。

控制器:

User <([^>]*)>|Address <((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)>

我的POJO是这样的:

@RequestMapping(path = MAPPING_LANGUAGE + "/category", produces = MediaType.TEXT_HTML_VALUE)
@ResponseBody
public String category(CategoryViewResolveModel model) {
    doSomething();
}

2 个答案:

答案 0 :(得分:2)

根据documentation@CookieValue@RequestHeader无效。

  

Servlet中带注释的处理程序方法支持此注释   和Portlet环境。

答案 1 :(得分:0)

看看: https://www.petrikainulainen.net/programming/spring-framework/spring-from-the-trenches-creating-a-custom-handlermethodargumentresolver/ 您可以使用getHeader来检索标头值,而不是使用getParameter来访问请求参数,因此您可以像请求一样定义CategoryViewResolveModel