我想将http标头的值从http请求解析为javax.servlet.http.Cookie
实例。
请求中的Cookie
示例:
Cookie: HSID=AYQEVnDKrdst; Domain=.foo.com; Path=/aaa; HttpOnly
spring是否提供了任何工具来轻松解析它?我不想手动解析它或涉及其他一些库
答案 0 :(得分:1)
WebUtils提供了一个getCookie方法 - WebUtils.getCookie
Cookie cookieName=WebUtils.getCookie(request,this.COOKIE_NAME);
String cookieValue = cookieName.getValue();
答案 1 :(得分:1)
Spring提供@CookieValue
作为处理程序方法参数的注释。它支持Cookie
作为参数类型和String
以及int
。
注释,指示应绑定方法参数 一个HTTP cookie。支持Servlet和中的带注释的处理程序方法 Portlet环境。
方法参数可以声明为类型
javax.servlet.http.Cookie
或作为cookie值类型(String
,int
等)。
在封面下方,它使用WebUtils#getCookie
将值解析为Cookie
。
答案 2 :(得分:0)
您可以在控制器方法中使用注释尝试:
@CookieValue("Cookie") String cookie
然后使用Java内置的解析方法:
String[] cookieValues = StringUtils.split(cookie, ";");
或使用扫描仪:
Scanner scan = new Scanner(cookie).useDelimiter(";");
while(scan.hasNext()){
...
}