HTTP adapter¶
有时,您可能希望访问底层 HTTP 服务器,可以在 Nest 应用程序上下文中访问,也可以从外部访问。
每个本地(特定于平台的)HTTP 服务器/库(例如 Express 和 fasttify)实例都包装在一个 适配器 中。 适配器被注册为一个全局可用的提供器,可以从应用程序上下文中检索它,也可以注入到其他提供器中。
外部应用程序上下文策略¶
要从应用程序上下文外部获取对HttpAdapter
的引用,请调用getHttpAdapter()
方法。
语境策略¶
要从应用程序上下文中获取对HttpAdapterHost
的引用,使用与任何其他现有提供器相同的技术(例如,使用构造函数注入)注入它。
Hint
The HttpAdapterHost
is imported from the @nestjs/core
package.
HttpAdapterHost
不是一个实际的HttpAdapter
。
要获得实际的HttpAdapter
实例,只需访问HttpAdapter
属性。
httpAdapter
是底层框架使用的 HTTP 适配器的实际实例。
它是ExpressAdapter
或FastifyAdapter
的一个实例(两个类都扩展了AbstractHttpAdapter
)。
适配器对象公开了几个与 HTTP 服务器交互的有用方法。
但是,如果你想直接访问库实例(例如 Express 实例),可以调用getInstance()
方法。