首页 > 其他分享 >【项目心得】在nest中使用fastify-cookie

【项目心得】在nest中使用fastify-cookie

时间:2023-09-25 15:55:40浏览次数:37  
标签:nest await nowDate cookie fastify data app

包安装

确保你在nest项目中安装了 fastify, @fastify/cookie, @nestjs/platform-fastify 等包

npm i fastify @fastify/cookie @nestjs/platform-fastify

 

fastify的引入和fastify-cookie的注册

src/main.ts

async function bootstrap() {

  const logger: Logger = new Logger('main', {})

  // @ts-ignore
  const app = await NestFactory.create<NestFastifyApplication>(AppModule, new FastifyAdapter(), {
    logger: IS_DEV ? ['log', 'debug', 'error', 'warn'] : ['error', 'warn']
  })
await app.register(fastifyCookie, { secret: 'my-secret' })
app.useLogger(await app.resolve(Logger)) await app.listen(PORT, () => { logger.log(`${ENVNAME} Server is running, interface load on: http://localhost:${PORT}${PREFIX}`) }) }

 

使用

写入cookie

@Get()
  async pushCode(@Res({passthrough: true}) res: FastifyReply): Promise<BaseResponser> {
    // return this.verifyService.pushCode()

    var nowDate: Date = new Date()
    nowDate.setSeconds(nowDate.getSeconds() + 60)

    var result = await this.verifyService.pushCode()
    // 写入Cookie
    res.setCookie("captcha", result.data.text, {
      path: '/',
      expires: nowDate
    })
    return {
      ok: result.ok,
      data: result.data.data
    }
  }

读取cookie

@Post()
  async copeCode(@Req() request: FastifyRequest): Promise<BaseResponser> {
    return {
      ok: true,
      data: request.cookies // or request.cookies[key]
    }
  }

 

标签:nest,await,nowDate,cookie,fastify,data,app
From: https://www.cnblogs.com/Tachibana-Yuki/p/17728098.html

相关文章

  • Cookie和Session的区别
    在工作中,我们经常会遇到Cookie和Session这两个概念。对于它们的区别,也是面试中被问到的高频题目。因此,在本文中将简要介绍一下Cookie和Session之间的区别。 存储位置:Cookie存储在客户端(浏览器),而Session存储在服务器端。 安全性:cookie不是很安全,别人可以分析存放在本地的cook......
  • HTTP安全响应头配置之Set-Cookie
    Cooke请求头对应Cookie字段、响应头对应Set-Cookie字段建议安全设置的cookie值如下Set-Cookie:<key>=<value>;Expires=<expriesDate>[;domain=domain][;path=path];Secure;HttpOnly;SameSite=strictvalue:一般是键值对expires:表示会在xxx时间之后失效(浏览器不会再发送给服务器......
  • cookie和session的区别
        ......
  • 访问api地址时添加cookie头,防止cookie刷新
    putSession(){wx.request({url:'http://127.0.0.1:8000/api/test1',success(res){console.log(res);wx.setStorageSync('session',res.cookies)},dataType:'json'})},get......
  • 【项目心得】关于Angular中使用Cookie
    今天写一个Angular前端项目时遇到需要使用Cookie的场景,bing寻找解决办法根据bing搜索第一条的方法,使用了一个名为”ngx-cookie-service“的库,结果方才一导入,就提示报错,报错信息如下:Error:Uncaught(inpromise):Error:NG0203:inject()mustbecalledfromaninjec......
  • Swagger生产nodejs后台代码(nestia框架)
    Swagger文档生产nestia框架代码#SETUPGLOBALLYnpminstall-g@nestia/migrate#DOMIGRATEnpx@nestia/migrateswagger.jsonoutput_directoryNPM是一个Node包管理器,NPX是一个Node包执行器。npm查看全局安装的包npmls-g......
  • jmeter 添加信息头管理器 设置cookies
    第一步:抓包找到信息头 ’ 第二步:设置http信息头管理器 有坑----避免跳入使用cookies管理器,它和信息头管理器不是一个东西  结果 完结撒花~~~......
  • Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.fa
    报错:Handlerdispatchfailed;nestedexceptionisjava.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectMapper.canSerialize(Ljava/lang/Class;Ljava/util/concurrent/atomic/AtomicReference;)Zjar包冲突,找到对应的jar包删除......
  • cookie json 请求头
    准备工作1.导入json依赖点击查看代码<!--jackson依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.2</version......
  • 谷歌浏览器提示:尝试通过Set-Cookie标头设置Cookie时被阻止,因为它具有“Secure“属性,但
    具体表现是使用谷歌浏览器https访问网址可以正常操作cookie,但是http访问,就会发现cookie不能操作,比如无法进行正常的登录。解决方案:清除谷歌浏览器的缓存数据。 参考链接:https://blog.csdn.net/Mr_yangx/article/details/115674652 ......