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()方法。