Angular HttpClient中的错误处理(在业务规则中找不到记录不被视为错误)



当我需要处理Angular服务中的错误时,我遇到了一个问题。在我的场景中,404返回对我来说不是一个错误,我需要在前面返回Null。我的问题是,我的控制台GET http://localhost:9000/api/funcionarios/user/3 404 (Not Found)中仍然存在错误。每次我的应用程序中发生错误时,我的服务都会被触发生成日志(在这种情况下不应该发生(

组件.ts

this.funcionario.findByUser(parseInt(account.id, 10)).subscribe((r) => {
this.setFuncionario(r.body);
}, (err) => {
this.setFuncionario(null);
});

服务.ts

findByUser(id: number): Observable<EntityResponseType> {
return this.http
.get<Funcionario>(`${this.resourceUrlByUser}/${id}`, {
observe: 'response'
})
.map((res: EntityResponseType) => res);
}

结果是意料之中的,但您正在生成这些错误日志。知道吗?

感谢

在我的情况下,我有这样的:如果存在函数,则返回"funcionario: {<object funcionario>}",但如果不存在则返回404

如果用户有功能,我会在前面工作,否则我会做一些不同的

我替换了搜索用户的代码。如果用户有函数,则返回用户对象"user: {funcionario: <object funcionario>}",如果不存在"user: {funcionario: null}"

谢谢你的合作。

最新更新