Проблемы с использованием определенных частей API - PullRequest
0 голосов
/ 01 мая 2018

Привет, поэтому у меня есть некоторый код, который запускает информацию о звездных войнах из API. Это заняло какое-то время, но у меня все заработало, единственное, одна кнопка выводит всю информацию. Мне интересно, как я могу прыгать вперед и назад по API, чтобы положить разные вещи, если это возможно.

кнопка Люка Скайуокера выведет всю информацию для Люка, c-3P0 и r2-d2. Я знаю, потому что это единственная кнопка, которая работает, но я не уверен, как реализовать это иначе.

// HTML

<button (click)="onClick()">Luke Skywalker</button>
<button type="button">C-3PO</button>
<button type="button">R2-D2</button>


<ion-list>
<ion-item *ngFor="let user of users">
    <h1>Name: {{ user.name }}</h1>
    <h1>Height: {{ user.height }}cm</h1>
    <h1>Mass: {{ user.mass }}kg</h1>
    <h1>Hair Color: {{ user.hair_color }}</h1>
    <h1>Skin Color: {{ user.skin_color }}</h1>
    <h1>Eye Coloe: {{ user.eye_color }}</h1>
    <h1>Birth Year: {{ user.birth_year }}</h1>
</ion-item>
</ion-list>

// OnClick

  users = [];
  errorFromSubscribe;
  errorFromCatch;
  displayItems;

  constructor(private http: Http) { }

  onClick() {
     this.http.get('https://swapi.co/api/people')
     .subscribe((res: Response) => {
      this.users = res.json().results; 
      console.log(this.users)
      }, error => {
        console.log(error);
        this.errorFromSubscribe = error;
      });
  }

API, который я использую: https://swapi.co/api/people

В API больше людей, но для целей вопроса я использую только первые 3.

Так что я действительно хотел бы знать, как я могу нажать кнопку C-3P0 и получить только информацию о C-3P0, а не информацию обо всех персонажах.

Вот экран вывода с консолью: https://imgur.com/M88Q1MP.

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете просто изменить свой сетевой вызов, указав идентификатор человека, информацию которого вы хотите получить.

swapi.co / апи / человек / 1 /

Получит информацию о человеке с идентификатором 1.

...