Я работаю над приложением angular и, в частности, пытаюсь получить через '@ angular / common / http' попытку прочитать «код состояния» и список найденных объектов.
Я видел, что я мог бы сделать что-то вроде этого:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { HttpHeaders, HttpResponse, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map, flatMap, filter, reduce } from 'rxjs/operators';
@Injectable({ providedIn: 'root' })
export class AppService {
constructor(private http: HttpClient) {}
fetchUsers(): Observable<any> {
let customHeaders = new HttpHeaders();
customHeaders = customHeaders.append('Accept', 'application/json');
customHeaders = customHeaders.append('Content-Type', 'application/json');
}
get(url: string, headers: HttpHeaders) {
return this.http.get(url, { headers: headers, responseType: 'json', observe: 'response'});
}
}
, а затем:
this.appService
.fetchUsers()
.subscribe(
dataResponse => {
switch (dataResponse['status']) {
case 200: {
const users = dataResponse.body.data
for (const i in users) {
const alarm = users[i];
console.log(users.id)
console.log(users.value)
}
}
}
console.log(dataResponse)
}
)
Есть ли способ поместить непосредственно список объектов в a const users = [] вместо итерации, извлеките объект, который я хотел бы извлечь, и затем поместите его в массив users?
Этот URL содержит следующие элементы:
{"message":"Success","data":[{"id":1,"value":"User One", "type": 1},{"id":2,"value":"User Two", "type": 1},{"id":3,"value":"User Three", "type": 1}]}
Я Интересно также узнать, возможно ли отобразить их, используя объект интерфейса, на случай, если я бы хотел избежать получения некоторой части данных, например, если я хотел бы избежать информации типа "при получении списка" объектов.
interface UserResponse {
id: string;
value: string;
}
Я начинал с здесь и с Angular подписывал объект pu sh на массив