为什么我在使用get request angular时出错?

时间:2019-05-20 19:30:06

标签: angular spring visual-studio

我有一个带有2个表的Spring Api:

  1. 马术装备
  2. Jugadores

每个设备都有很多jugador。 当我使用PostMan进行获取时,我会获得Equipos和jugadores的任何问题,但是我正在尝试获取每个Equipos并放入带有Angular的div中

  1. 设备分类
  2. Equipo.ts
  3. Equipo.component

equipo.ts:

export class  Equipo{    
    nombre:string;
    entrenador:string;
    escudo:string;    
}

equipo.service.ts:

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { Equipo } from './equipo';const httpOptions = {
  headers: new HttpHeaders({'responseType': 'text',
   'Content-Type': 'application/json; charset=utf-8' ,
  'Access-Control-Allow-Origin': '*'}) 
}

@Injectable({
  providedIn: 'root'
})
export class EquipoService {
    private usersUrl: string; 
  constructor(private http: HttpClient) {
    this.usersUrl = 'http://localhost:8084/api/equipoes';
  } 
  public findAll(): Observable<Equipo[]> {
    return this.http.get<Equipo[]>(this.usersUrl,httpOptions)
  }
 }

equipo.component.ts:

import { Component, OnInit } from '@angular/core';
import { EquipoService} from '../equipo.service';
import { Equipo } from '../equipo';
@Component({
  selector: 'app-equipo',
  templateUrl: './equipo.component.html',
  styleUrls: ['./equipo.component.css']  
})
export class EquipoComponent implements OnInit {
  users: Equipo[]; 
  constructor(private userService: EquipoService) {
  } 
  ngOnInit() {
    this.userService.findAll().subscribe(res => this.users = res);
  }

}

和equipo.component.html:

<div class ="test" *ngFor="let key of users">
    <h1>{{key.nombre}}</h1>
<div>

还有一个错误:

  

错误错误:“找不到类型为'object'的其他支持对象'[object Object]'。NgFor仅支持绑定到Iterable,例如数组。”

数据: Datas from equipos

1 个答案:

答案 0 :(得分:0)

根据我从图像中看到的内容,由于我看不清楚,可能会出错。

  ngOnInit() {
    this.userService.findAll().subscribe(res =>
    {
        this.users = res['_embedded']['equipoes'];
    });
  }

我认为响应是一个对您的错误有意义的对象。尝试像上面一样设置this.users来访问响应的数组部分。