首页 » webflux

webflux的mvc中添加cookie,和spring mvc 不太一样,需要再controller中的方法中加入ServerWebExchange exchange 参数,如下:

@RequestMapping("admin/login")
public CommonResult<AdminLoginResponseData> login(@RequestBody AdminLoginForm adminLoginForm, @ApiIgnore ServerWebExchange exchange) {
    CommonResult<AdminLoginResponseData> result = CommonResult.getInstance();
    if (checkAuth(adminLoginForm)) {
    

        ResponseCookie responseCookie = ResponseCookie.from("token", loginRecord.getToken()).build();
        exchange.getResponse().addCookie(responseCookie);

        AdminLoginResponseData responseData = AdminLoginResponseData.ofAdmin();
        result.setData(responseData);
    }
    return result;
}

其中的关键代码

 ResponseCookie responseCookie = ResponseCookie.from("token", loginRecord.getToken()).build();
        exchange.getResponse().addCookie(responseCookie);