ответ покоя ручки (HATEOAS) с угловым - PullRequest
0 голосов
/ 12 июля 2019

У меня есть приложение весенней загрузки с API-интерфейсом отдыха, используемым в качестве бэкэнда.Я хочу использовать angularjs в качестве внешнего интерфейса.

я получаю что-то вроде этого в ответ от API

{
  "_embedded" : {
    "genders" : [ {
      "name" : "male",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/genders/1"
        },
        "gender" : {
          "href" : "http://localhost:8080/api/genders/1"
        }
      }
    }, {
      "name" : "female",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/genders/2"
        },
        "gender" : {
          "href" : "http://localhost:8080/api/genders/2"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/genders{?page,size,sort}",
      "templated" : true
    },
    "profile" : {
      "href" : "http://localhost:8080/api/profile/genders"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

Угловая часть:

это мой пол.сервис

export class GenderService {

  private gendersUrl = 'http://localhost:8080/api/genders';


  constructor(
    private http: HttpClient,
  ) {}

  getGenders(): Observable<Gender[]> {
    return this.http.get<Gender[]>(this.gendersUrl);
  }
}

моя гендерная модель (нужна ли она мне?)

export class Gender{
    name: string;
}

мой компонент

export class TestComponent implements OnInit {

  genders: Gender[];

  constructor(private genderService: GenderService) { }

  ngOnInit() {
    this.getGenders();
  }

  getGenders(): void {
    this.genderService.getGenders()
    .subscribe(genders => this.genders = genders);
  }

}

и как я его использую

<ul class="genders">
  <li *ngFor="let gender of genders">
    {{gender.name}}
  </li>
</ul>

Ответ не является массивом, и я получаю следующую ошибку

ERROR Error: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.

, если я использую map в моем сервисе sex.service для обработки этого или что я делаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...