如何禁用NestJs缓存API响应

编程入门 行业动态 更新时间:2024-10-10 07:26:58

如何禁用NestJs<a href=https://www.elefans.com/category/jswz/34/1771061.html style=缓存API响应"/>

如何禁用NestJs缓存API响应

我有一个正常的NestJs应用程序。我有几个API。最近,我注意到当我使用Postman测试它们时,响应被缓存了。

例如

I hit API-1 ... it gives me a response. 
I hit API-2 ... it gives me the response plus the previous response.

是否有禁用此功能的调整?

提前感谢。

这是返回正常响应的API-1。

这是API-2,它返回以前的API-1的响应

回答如下:
@Controller({path: "product",scope: Scope.REQUEST})

我认为这就是问题。由于节点是单线程的,因此它没有处置我的较早的实例,并且一次又一次地使用相同的响应变量。因此,我的API-1保存了对名为RESPONSE的变量的响应。

在下一个请求时,API-2使用了相同的变量RESPONSE。

RESPONSE变量结构是这样的-

{
   status: bool,
   message: string,
   data: object
}

API-1将其修改为

{
   status: true,
   message: "Done",
   data: {"key":"value"}
}

但是,API-2仅使用前两个键。

{
   status: true,
   message: "Not done",
   data: {"key":"value"}
}

因此获得了上一个请求的第三个data键。

理想情况下,这不会发生。但是在应用范围之后,它就解决了。

https://docs.nestjs/fundamentals/injection-scopes

控制器也可以具有范围,该范围适用于所有请求方法在该控制器中声明的处理程序。像提供者范围一样,范围控制器的寿命声明其寿命。对于请求范围控制器,为每个入站请求创建一个新实例,并且请求完成处理后,将进行垃圾收集。

更多推荐

如何禁用NestJs缓存API响应

本文发布于:2024-05-07 05:25:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754496.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:缓存   NestJs   API

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!