我试图使用@Cookie
获取Cookie值。但是如果cookie值为null,我会得到400错误。怎么了?
这是我的控制者:
public String listContacts(Map<String, Object> map,
HttpServletResponse response, @CookieValue("flag") String flag) {
response.addCookie(new Cookie("flag", "In use"));
...
答案 0 :(得分:7)
尝试在required = false
注释中设置@CookieValue
:
public String listContacts(Map<String, Object> map,
HttpServletResponse response, @CookieValue(value = "flag", required = false) String flag) {
默认情况下,spring期望cookie标头存在并抛出异常,否则:
默认值为true,导致在请求中缺少标头时抛出异常。如果您在缺少标题时更喜欢null,请将其切换为false。
或者,提供defaultValue,隐式将此标志设置为false。