【问题标题】:How to get URL query withouth parsing it in NestJS如何在不解析 NestJS 的情况下获取 URL 查询
【发布时间】:2021-12-19 10:17:06
【问题描述】:

大家好,我正在尝试使用所有查询参数来获取我的路由,而不对其进行解析。 我的路线是这样的:

http://somewebsite/orders?key1=value1&key=value

我不想使用

@Query()

返回带有键/值对的对象我只想获取后面所有内容的纯字符串值? 所以我想得到这样的东西

string = "key1=value1&key=value"

编辑

controller.ts

@Get('/orders')
getOrders(
    @Query(ValidateQueryPipe) query: QueryParameters): Subscription {
    // here I want to have my query as a string not as an object. 
    })
}

所以当我从邮递员那里向我的路线发送请求时,我将能够拥有我传递的所有键/值对,但作为字符串......

谢谢

【问题讨论】:

    标签: javascript typescript nestjs query-parameters


    【解决方案1】:

    尝试将request object 传递给您的函数并获取查询字符串应位于的originalUrl

    import { Req } from '@nestjs/common';
    import { Request } from 'express';
    
    getOrders(@Req() request: Request): Subscription {
      const regex = /(?<=\?).*$/gm;
      const result = request.originalUrl.match(regex);
    
      if (result) {
        const query = result[0];
      }
    }
    

    【讨论】:

    • 好的,抱歉,我可能不是很清楚,我不知道我收到了哪些问题,我将编辑我的问题
    • @LaCodeM 我已经尝试为你的 Nestjs 更改示例,所以试试吧。
    • 非常感谢!我完全错过了@Req() 装饰器。像魅力一样工作!
    猜你喜欢
    • 2020-09-13
    • 2022-12-22
    • 2021-12-12
    • 2018-01-06
    • 2020-05-16
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多