我正在尝试访问Request object
从一个内Validation Pipe
in nestjs
为了验证某些字段的唯一性,我需要ID/UUID
提供的参数PUT/PATCH
请求(数据结构本身不可用)
任何想法?
目前,根本不可能在 a 中访问请求对象。pipe
。如果您需要该请求,您可以使用guard https://docs.nestjs.com/guards or an 拦截器 https://docs.nestjs.com/interceptors.
如果您正在努力验证唯一性,这听起来像是业务逻辑的一部分,而不是其他任何东西,所以我会将其放入服务中并在那里处理对数据库的查询。只是我的两分钱。
编辑 11/17/2020
在详细了解框架如何作为一个整体工作之后,从技术上讲,可以在管道中获取整个请求对象。有两种方法可以解决这个问题。
-
制作管道@Injectable({ scope: Scope.REQUEST })
所以它是请求范围 https://docs.nestjs.com/fundamentals/injection-scopes。这最终会根据每个请求创建一个新的管道,但是嘿,如果这是你喜欢的那杯茶那就太好了。
-
Make a 自定义参数装饰器 https://docs.nestjs.com/custom-decorators因为自定义装饰器完全按原样传递到管道中。请注意,这could影响如何ValidationPipe
如果它在类或方法级别全局绑定,则可以正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)