无论如何在 Nest.js 中使用 Fastify 获取请求、响应的类型接口
Posted
技术标签:
【中文标题】无论如何在 Nest.js 中使用 Fastify 获取请求、响应的类型接口【英文标题】:Is there anyway to get types interfaces for request, response in Nest.js with Fastify 【发布时间】:2020-02-24 23:42:50 【问题描述】:我正在学习 Nest.js,在开始编写文档时,我读到我不仅可以将它与 express 一起使用,还可以与 fastify 一起使用,所以我设置了我的第一个fastify 的项目,然后我开始阅读有关控制器的信息,但发现了一个问题。例如,如果我想获取有关用户请求的更多信息,我可以稍微使用@Req req: Reguest
,并且这个 req 是 Request 的类型,并且很容易从基于express的应用程序,你只需要安装@types/express
然后你可以从express导入Request接口,但是如何(如果可能的话)使用fastify可以获得Request接口吗?
【问题讨论】:
【参考方案1】:应该有来自@types/fastify
的类型可以安装。我相信 Fastify 使用 Request
和 Reply
作为请求和响应。
【讨论】:
不,没有任何:/但实际上我找到了解决方案。 Fastify 提供了与@types/node
的接口,你可以从'fastify'
导入它们,例如 DefaultQuery。因此,如果您已经安装了@types/node
(对于嵌套它们已经在项目中,所以您不必),您可以轻松访问它们。在这里我找到了我的解决方案fastifyTypes
不知道express是否支持这种接口?【参考方案2】:
所以我确定 fasify 的类型已经在 Nest 项目中,因为它们来自 @types/node
。如果你想使用 fastify 的接口,只需从 fastify 模块导入它们。
示例:
import Controller, Get, Query, Req from '@nestjs/common';
import AppService from './app.service';
import DefaultQuery from 'fastify';
@Controller('math')
export class AppController
constructor(private readonly appService: AppService)
@Get('add')
addTwoNumbers(@Query() query: DefaultQuery): number
return this.appService.addTwoNumbers(query.value);
如果您想了解更多关于 fastify 中的类型的信息,请访问此链接:Fastify Types
【讨论】:
以上是关于无论如何在 Nest.js 中使用 Fastify 获取请求、响应的类型接口的主要内容,如果未能解决你的问题,请参考以下文章
带有 NEST.JS 的 newrelic/apollo-server-plugin
Nest js 是不是以 express js 为核心实现了几乎两倍的基准测试结果。?或者只是为了实现它
如何在 Nest.JS 中使用多个 Secret 实现多个 JWT 策略