我尝试了下面的技巧,将用户重定向到某个路径,但是Nest尝试将用户重定向到/finance/bank/callback/MYPATH
。我也用@Redirect修饰器尝试了在nest.js文档中所说的,但它仍然是一样的。有什么想法吗?
import { Response } from 'express';
@Controller('finance')
export class BankController {
constructor(private readonly bankService: BankService) {}
@Get('bank/callback')
async bankCallbackHandler(
@Query() queryString: bankCallbackDto,
@Res() res: Response,
): Promise<void> {
const result = await this.bankService.callbackHandler(queryString);
if (result.data.transaction_status == 'OK') {
res.redirect(process.env.SUCCESS);
} else if (result.data.transaction_status == 'NOk') {
res.redirect(process.env.FAIL);
} else if (result.data.transaction_status == 'Duplicate') {
res.redirect(process.env.DUPLICATE);
}
}
}
发布于 2021-02-05 02:22:22
您应该能够使用内置的@Redirect
装饰器。例如:
@Get('bank/callback')
@Redirect()
bankCallbackHandler(@Query() queryString: bankCallbackDto, @Res() res: Response) {
if (...condition) {
return { url: 'https://your.redirection.url.com' };
} else {
return { url: 'https://different.redirection.url.com' };
}
}
https://stackoverflow.com/questions/65476421
复制相似问题