Angular 9 использовать REST API - PullRequest
0 голосов
/ 12 апреля 2020

Я новичок в Angular, и я хотел бы использовать его для моего интерфейса. Весной у меня есть REST API, который выдает содержимое Json ниже. Моя проблема в том, что мне удается отображать продукты с помощью * ngFor, но я хотел бы отобразить для каждого продукта его категорию.

I посмотрел на inte rnet, но он только объясняет, как показать простую сущность, а не значение ссылки href. спасибо за вашу помощь

{
  "_embedded" : {
    "products" : [ {
      "id" : 4,
      "name" : "lKVOJRjKir",
      "description" : null,
      "currentPrice" : 405.0,
      "promotion" : true,
      "selected" : true,
      "available" : false,
      "photoName" : "unknown.jpeg",
      "quantity" : 1,
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/products/4"
        },
        "product" : {
          "href" : "http://localhost:8080/products/4"
        },
        "category" : {
          "href" : "http://localhost:8080/products/4/category"
        }
      }

это мой сервис:

 private getProducts(url) {
    this.catalogueService.getResource(url)
      .subscribe(data => {
        this.products = data;
      }, error => {
        console.log(error);
      })
  }

это мой файл html и что я пробовал:

<div class="col-md-4" *ngFor="let p of products._embedded.products" >
     <div class="card" >
       <div class="card-header">{{p.name}}</div>
       <div>Price : {{p.currentPrice|number:'0.2'}}</div>
       <div>{{p.description}}</div>
       <div>Selected: {{p.selected}}</div>
       <div> Category: {{p.category.name}}</div>  // not working

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

просто, чтобы закрыть тему, я нашел решение, которое заключается в том, чтобы выставить поля категорий, используя: https://docs.spring.io/spring-data/rest/docs/3.1.x/reference/html/#projections -excerpts.excerpting-обычно-access--data

0 голосов
/ 12 апреля 2020

В указанном выше json объекте нет ключа категории. Если он не возвращается для каждого продукта json объекта. Вы можете go с безопасным оператором в вашем html. {{Р? .Category? .Name}}

...