【发布时间】:2020-07-27 07:28:46
【问题描述】:
我在获取属性 userID 等于从另一个 HTTP 请求获得的参数的 Wall 对象时遇到问题。获取所有墙壁的请求成功,但是当我传递用户 ID 时,它返回一个空数组。我使用实体框架作为后端。我已经在 Postman 中测试了该请求,并且可以正常工作。
控制器:
[HttpGet("GetWallsByUserId/{userId}")]
public async Task<ActionResult<IEnumerable<Wall>>> GetWallsByUserId(string userId)
{
return await _context.Walls.Where(w => w.userID == userId).ToListAsync();
}
服务代码:
getQuizByUserId(id:any){
return this.http.get<any>(this.BaseURI+'/Wall/GetWallsByUserId/'+id).pipe(
catchError(Error=>of(null))
);
在组件中,我正在获取当前登录用户的 ID,并且我正在传递该 ID 以获取具有该 ID 的所有 Wall 对象:
userID:any;
userDetails;
walls=[];
ngOnInit(): void {
this.userService.getUserProfile().subscribe(
res=>{
this.userDetails=res;
this.userID=this.userDetails.id;
console.log(this.userID);
}
);
this.service.getQuizByUserId(this.userID).subscribe(
res=>{
this.walls=res;
console.log(res);
}
)
}
}
我真的不知道我错过了什么,在控制台中 userId 总是成功返回,但 res 和 wall 总是空数组。这是获取所有墙壁的成功请求:
getAllWalls()//getting all the wall in home component
{
return this.http.get<any>(this.BaseURI+'/Wall');
}
【问题讨论】:
标签: angular entity-framework httprequest