Objetivo:
- Crear un nuevo servicio
- Utilizar Http
- Levantar el servidor utilizando json-server como se mostro en el práctico anterior.
- Dentro de la carpeta shared crear una carpeta llamada services.
- Crear un nuevo archivo llamado user.service.ts y actualizar con la siguiente información:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs';
const SERVER_REST_API_URL = "http://localhost:3000/users/";
@Injectable()
export class UserService {
private http: Http;
constructor(http:Http) {
this.http = http;
}
getUsers() {
return this.http.get(SERVER_REST_API_URL)
.map(res => res.json());
}
}
- Abrir el archivo users.component.ts para utilizar la información proveniente desde el servidor:
import { Component, OnInit } from '@angular/core';
import { User } from '../shared/models/user';
import { UserService } from '../shared/services/user.service';
@Component({
selector: 'app-users',
templateUrl: './users.component.html',
styleUrls: ['./users.component.css']
})
export class UsersComponent implements OnInit {
message:string;
users: Array<User>;
activeUser;
userService:UserService;
constructor(userService: UserService) {
this.userService = userService;
}
ngOnInit() {
this.users = [];
this.userService.getUsers()
.subscribe((resp) => {
for(let u of resp) {
this.users.push(new User(u.id, u.name, u.username));
}
});
}
selectUser(user) {
this.activeUser = user;
}
onUserCreated(event) {
this.users.push(event.user);
}
}
- Ejecutar en una consola el ng serve y vemos la misma informacion pero proveniente del servidor local.
No hay comentarios:
Publicar un comentario