【问题标题】:How to get FullURL with NestJS?如何使用 NestJS 获取 FullURL?
【发布时间】:2020-11-24 08:14:54
【问题描述】:

如何获取 NestJS 正在处理的页面的完整 URL? (例如 http://localhost:3000/hoge)

// 
// If you implement it with express, it looks like this.
// e.g. http://localhost:3000/hoge
// 
function getFullUrl(req: express.Request) {
  return `${req.protocol}://${req.get('Host')}${req.originalUrl}`;
}

【问题讨论】:

    标签: nestjs


    【解决方案1】:

    您可以使用 Req() decorator 注入请求对象,让您可以做与在纯 express 应用中所做的几乎相同的事情。

    import {Controller, Get, Req} from '@nestjs/common';
    import {Request} from 'express';
    
    @Controller()
    export class AppController {    
        @Get()
        getHello(@Req() req: Request): void {
            console.log(`${req.protocol}://${req.get('Host')}${req.originalUrl}`);
        }
    }
    

    这当然假设您使用 Express 作为您的 http-adapter(这是默认设置)。

    【讨论】:

    • 这个答案对我很有帮助。非常感谢。也理解为是在使用Express HTTP适配器的前提下。
    猜你喜欢
    • 2016-02-14
    • 2020-08-10
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    相关资源
    最近更新 更多