Javascript 如何只获取一个用户而不是列表?

Javascript 如何只获取一个用户而不是列表?,javascript,angular,typescript,ionic-framework,ionic4,Javascript,Angular,Typescript,Ionic Framework,Ionic4,我尝试从一个用户列表中获取一个用户,并在另一个页面上显示他的个人资料 我想使用routerLink来实现这一点,并将此特定用户的id传递到下一页 路由正在工作,Im被定向到配置文件页面,但是当我记录http请求的结果时,我仍然会返回整个用户列表,就像在用户页面中一样,而不是一个用户的详细信息 我尝试过很多事情,比如在我的user.service.ts中更改url的路径,但这并没有解决问题,我甚至在使用此路径时遇到了404个请求错误${this.url}/users/${id}/,而不是${thi

我尝试从一个用户列表中获取一个用户,并在另一个页面上显示他的个人资料

我想使用routerLink来实现这一点,并将此特定用户的id传递到下一页

路由正在工作,Im被定向到配置文件页面,但是当我记录http请求的结果时,我仍然会返回整个用户列表,就像在用户页面中一样,而不是一个用户的详细信息

我尝试过很多事情,比如在我的user.service.ts中更改url的路径,但这并没有解决问题,我甚至在使用此路径时遇到了404个请求错误
${this.url}/users/${id}/
,而不是
${this.url}/users/?I=${id}/
(它在哪里工作)

api文档说,为了检索单个用户,它的
http://1234//users/{id}/
在id为整数时使用此方案。但是当我想应用这个方案时,我得到了404错误

这就是为什么我必须使用
?I=
版本,但问题是我只能在下一页获得完整的用户列表

我的代码:

user.service.ts

// get a user's profile
  getUserDetails(id): Observable<any> {
    return this.http.get(`${this.url}/users/?i=${id}/`); // why add ?i
  }
user.page.html

   <ion-avatar  class="user-image"  slot="start" [routerLink]="['/','profile', 'user.id']">
            <ion-img src="assets/22.jpeg"> </ion-img>
     </ion-avatar>

我假设${this.url}/users/?I=${id}将获得用户列表,因为参数可能根本不重要,所以它基本上与${this.url}/users/相同。你说文档提到要得到一个人,url应该是${this.url}/users/${id}。我建议您找出为什么在使用urllong shot时会出现错误,只是为了确定:它确实说
/users/{id}
,而不是
/user/
?不,它说
/users/{id}
@rtpHarry我想我知道这个问题。因为id必须是一个数字。如何更改
let id=this.activatedRoute.snapshot.paramMap.get('id')所以它是一个数字?它不是一个数字,一旦它变成一个查询字符串,所以在这种情况下没有任何区别。如果你真的想,你可以用。
   <ion-avatar  class="user-image"  slot="start" [routerLink]="['/','profile', 'user.id']">
            <ion-img src="assets/22.jpeg"> </ion-img>
     </ion-avatar>
 information = null;
...
  ngOnInit() {
     // Get the ID that was passed with the URL
     let id = this.activatedRoute.snapshot.paramMap.get('id');

     // Get the information from the API
     this.userService.getUserDetails(id).subscribe(result => {
       this.information = result;
       console.log(result);
     });
   }