设置Cookie
使用HttpServletResponse
@GetMapping("/setCookie")
public Result setCookie(HttpServletResponse response) {
// 创建cookie对象
Cookie cookie = new Cookie("user", "zhangsan");
// 设置cookie过期时间,单位秒
cookie.setMaxAge(5*60);
// 增加到响应中
response.addCookie(cookie);
return Result.success("成功设置cookie");
}
请求结果
获取Cookie
使用HttpServletRequest
@GetMapping("/getCookieByRequest")
public Result getCookieByRequest(HttpServletRequest request) {
// 获取全部cookie
Cookie[] cookies = request.getCookies();
return Result.success(cookies);
}
请求结果
使用@CookieValue
注解
@GetMapping("/getCookieByAnnotation")
public Result getCookieByAnnotation(@CookieValue(name = "user", required = false) String user) {
return Result.success(user);
}
请求结果
完整代码
package com.gmy.mybatis.controller;
import com.gmy.mybatis.bean.Result;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author gmy
* @date 2023/6/14 23:27
*/
@RequestMapping("/user")
@RestController
public class UserController {
@GetMapping("/setCookie")
public Result setCookie(HttpServletResponse response) {
// 创建cookie对象
Cookie cookie = new Cookie("user", "zhangsan");
// 设置cookie过期时间,单位秒
cookie.setMaxAge(5*60);
// 增加到响应中
response.addCookie(cookie);
return Result.success("成功设置cookie");
}
@GetMapping("/getCookieByRequest")
public Result getCookieByRequest(HttpServletRequest request) {
// 获取全部cookie
Cookie[] cookies = request.getCookies();
return Result.success(cookies);
}
@GetMapping("/getCookieByAnnotation")
public Result getCookieByAnnotation(@CookieValue(name = "user", required = false) String user) {
return Result.success(user);
}
}