有没有办法,如何通过qazxsw poi注释迭代我们在控制器中得到的对象?
我们在GET中有动态计数和查询参数的名称,所以我们需要获取整个@Query()
对象并迭代它们以了解我们确切拥有的paramas。
但是,如果我想迭代该对象,我得到的错误是该对象不可迭代。
知道怎么做吗?
您可以使用@Query()
获取查询对象的键数组。然后,您可以遍历此数组键:
Object.keys()
在嵌入式控制器中,使用@Get()
getHello(@Query() query) {
for (const queryKey of Object.keys(query)) {
console.log(`${queryKey}: ${query[queryKey]}`);
}
}
/ @Query()
/ @Body()
装饰器而不带参数将返回键值javascript对象。
例如:
@Headers()
参考:
// request url: http://example.com/path-foo/path-bar?qf=1&qb=2
@Post(':foo/:bar')
async function baz(@Query() query,@Param() param) {
const keys = Object.keys(query); // ['qf', 'qb']
const vals = Object.values(query); // ['1', '2']
const pairs = Object.entries(query); // [['qf','1'],['qb','2']]
const params = Object.entries(param); // [['foo','path-foo'],['bar','path-bar']]
// these are all iterate able array
// so you can use any Array's built-in function
// e.g. for / forEach / map / filter ...
}
Object.entries()