debugging - 未找到搜索结果时如何修复获取状态 500?
问题描述
我在我的 Angular 前端设计中有搜索栏,并且我正在使用 NestJS 作为我的后端。每当我在搜索栏中输入乱码时,我的网络响应都会收到状态 500 错误。
它不应该抛出错误,我试图弄清楚为什么我的查询出错只是无法找到一个值但不完全知道在哪里修复它,如果你有任何机会,我将不胜感激只需查看代码即可帮助我。
我做到了,尝试像这样的 catch 和 throwoException 但现在它将每个错误都视为未找到。我只是想找出为什么每次我查询时都说错误并且找不到结果并修复它。
try {
var finalSqlResults = await finalSql.getManyAndCount();
} catch (error) {
const result = { pageIndex: 0,
pageSize: 0,
results:[],
totalCount:0}
throw new NotFoundException(result);
}
解决方案
您共享的更新代码片段似乎从您的服务返回 NotFoundException。而如果我们在这里尝试处理错误,我们应该返回新创建的结果 const。
try {
var finalSqlResults = await finalSql.getManyAndCount();
} catch (error) {
const result = { pageIndex: 0,
pageSize: 0,
results:[],
totalCount:0}
return result;
}
同样在您分享的 Stackblitz 中。IN 查询可能被创建为空白“()”,这可能会导致抛出 500 Internal Server Error。
if (tags && tags.length > 0) {
workspaceQuery = workspaceQuery.andWhere(
new Brackets(qb => {
qb.where('wstags.tag IN(:...tags)', { tags }).orWhere(
'ctags.tag IN(:...tags)',
{ tags }
);
})
);
}
}
希望这可以帮助!
推荐阅读
- node.js - 在服务器端 (node.js) 存储 API (Paypal) 访问令牌的位置
- arrays - 如何遍历对象中的数组,使用每个数组值的数据库调用更新对象?
- debugging - 按钮文本 - 调试帮助 - Swift
- python - 将不同的数据保存到不同的 csv 文件中
- postgresql - 列引用不明确,但只有一个表在使用?
- angular - 如何将数据发布到数据库中最新添加的资源/记录?
- java - 如何使用参数模拟 jdbcTemplate.query (Object[]{})
- python - 不知道为什么没有为最大公约数函数定义名称
- windows - 如何在 EditBox 中切换自动换行
- javascript - VUE JS 中“reversedList”计算属性的意外副作用