vue+springboot2.0前后端分离项目传输cookie,获取cookie,返回cookie

上代码:

前端vue:




    
    
    hello world



hello world

用户名:

后台java

跨域配置类:

@Configuration
public class CrossConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //设置允许跨域的路径
        registry.addMapping("/**")
                //设置允许跨域请求的域名
                .allowedOrigins("*")
                //是否允许证书 不再默认开启
                .allowCredentials(true)
                //设置允许的方法
                .allowedMethods("*")
                //跨域允许时间
                .maxAge(3600);
    }
}

cookie工具类

public class CookieUtils {
    public static String getCookie(HttpServletRequest request, String cookieName) {

        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                if (cookie.getName().equals(cookieName)) {
                    return cookie.getValue();
                }
            }
        }
        return null;
    }

    public static void writeCookie(HttpServletResponse response, String cookieName, String value) {
        Cookie cookie = new Cookie(cookieName, value);
        cookie.setPath("/");
        cookie.setMaxAge(5 * 60);
        response.addCookie(cookie);
    }
}

controller

@RestController
public class LoginController {
    final String TOKENX = "1234";

    @PostMapping("login")
    public String queryPoolList(@RequestBody User user, HttpServletResponse response,
                                @CookieValue(value = "token", required = false) String token) {
        if (token == null) {
            CookieUtils.writeCookie(response, "token", TOKENX);
        } else {
            System.out.println(token);
        }
        //返回前台
        return "成功";
    }
}

参考:

已经解决了

https://blog.csdn.net/heatdeath/article/details/79260053

https://blog.csdn.net/weixin_40648117/article/details/79066550

你可能感兴趣的:(vue,springboot,前后端分离,cookie,前端,token,axios)