我遇到如下问题:
(?...)?
UserCtrl.ts
@Delete('/:id') public delete( @Param('id') id: string): Promise<void> { if (this.lengthValidator(id)) { return Promise.reject(new OfferInvalidError(400, 'Invalid ID supplied')); } else { return this.userService.delete(id); } }
userService.ts
使用此流程我可以从表中删除条目,但在返回时它将发送给我:
未找到错误消息
但是我必须向用户发送正确的消息,所以我需要添加响应吗?
由于我是Node JS的新手,我正在努力解决这个问题。
提前致谢。
答案 0 :(得分:0)
终于能够找到解决方案, 我确信这是向用户提供响应的正确方法,但它对我有用:
public delete( @Param('id') id: string): Promise<any> {
if (this.lengthValidator(id)) {
return Promise.reject(new OfferInvalidError(400, 'Invalid ID supplied'));
} else {
const isDeleted = this.userService.delete(id);
if(isDeleted){
return {success:'user has been deleted'}
}
}
}
总之,我已经更改了控制器函数的返回类型,并为返回函数添加了自定义响应。