Javascript 对ObjectId的强制转换在Angular中失败
当我从id中得到一个元素时,我得到了这个错误Javascript 对ObjectId的强制转换在Angular中失败,javascript,angular,casting,angular-http,objectid,Javascript,Angular,Casting,Angular Http,Objectid,当我从id中得到一个元素时,我得到了这个错误 message: "Cast to ObjectId failed for value \"${id}\" at path \"_id\" for model \"Projet\"" 数据模型 export interface NouveauProjet { _id: String; leadProj: String; nomProj: String; descProj: String; besProj: Number; p
message: "Cast to ObjectId failed for value \"${id}\" at path \"_id\" for model \"Projet\""
数据模型
export interface NouveauProjet {
_id: String;
leadProj: String;
nomProj: String;
descProj: String;
besProj: Number;
pers: Personnes[];
Backlog: Fonctionnalite;
}
export interface Personnes {
name: String;
poste: String;
}
export interface Fonctionnalite {
fonctionnalite: String[];
userStory: String[];
}
服务功能
getProj(id): Observable<NouveauProjet[]> {
return this.http.get<NouveauProjet[]>(
"http://127.0.0.1:8081/api/proj/nouvProjs/${id}");
}
当我使用Postman http请求时,请将正确的数据发回给我。但不是通过httpClient模块
邮递员回应:
{
"_id": "5a3fa574e09f323bf71dd9f2",
"descProj": "jkj",
"leadProj": "kjkj",
"nomProj": "kjk",
"__v": 0,
"backlog": [],
"pers": [
{
"name": "kjkj",
"poste": "kjjk",
"_id": "5a3fa574e09f323bf71dd9f3"
}
]
}
以下是我的后端路线:
.route("/nouvProjs/:nouvProj_id")
.get(function(req, res) {
NouvProj.findById(req.params.nouvProj_id, function(err, nouvProj) {
if (err) {
res.send(err);
} else {
res.json(nouvProj);
console.log(nouvProj);
}
});
})
介意在您的后端路由中发布您试图映射到的对象的模型,以及来自postman的响应数据吗?
console.log(req.params.nouvProj_id)
,以查看前端是否通过正确的idI获取此${id}
我找到了解决方案,我删除了`this.id=this.route.snapshot.paramMap.get('id')中的此`
.route("/nouvProjs/:nouvProj_id")
.get(function(req, res) {
NouvProj.findById(req.params.nouvProj_id, function(err, nouvProj) {
if (err) {
res.send(err);
} else {
res.json(nouvProj);
console.log(nouvProj);
}
});
})