In this tutorial, we will learn how to consume APIs using Angular framework updated for the year 2023. Consuming APIs is an important aspect of modern web development as it allows us to fetch and display data from external sources, such as databases, servers, or third-party services. Angular provides powerful tools and features that make it easy to communicate with APIs and handle data in our web applications.
Before we start, make sure you have the following tools installed on your system:
-
Node.js and npm: Angular requires Node.js and npm to be installed on your system. You can download and install them from the official Node.js website (https://nodejs.org/).
- Angular CLI: Angular CLI is a command-line interface for Angular that makes it easy to create, build, and manage Angular applications. You can install Angular CLI globally using npm with the following command:
npm install -g @angular/cli
Once you have installed the necessary tools, we can start creating our Angular application to consume APIs. Follow the steps below to create a new Angular project:
- Open your terminal or command prompt and run the following command to create a new Angular project:
ng new my-api-consumer
- Navigate into the newly created project directory:
cd my-api-consumer
- Next, we need to install the HttpClientModule, which is a module that provides Angular with the necessary tools to make HTTP requests to APIs. Run the following command to install HttpClientModule:
npm install @angular/common/http
- Import the HttpClientModule module in the AppModule by opening
src/app/app.module.ts
file and updating it as follows:
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
HttpClientModule
]
})
- Now, let’s create a service to handle API requests. Run the following command to generate a new service:
ng generate service api
- Open the newly generated service file
src/app/api.service.ts
and import the necessary modules as follows:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
- Define a constructor and inject the HttpClient module into the service:
constructor(private http: HttpClient) {}
- Create a method in the service to make a GET request to a sample API. For this tutorial, let’s use the JSONPlaceholder API as an example:
getData(): Observable<any> {
return this.http.get('https://jsonplaceholder.typicode.com/posts');
}
- Now, we need to fetch the data from our API service in a component. Let’s generate a new component using the following command:
ng generate component api-consumer
- Open the newly generated component file
src/app/api-consumer/api-consumer.component.ts
and import the ApiService:
import { ApiService } from '../api.service';
- Inject the ApiService into the component:
constructor(private apiService: ApiService) {}
- Call the getData method from the ApiService in the ngOnInit lifecycle hook:
ngOnInit(): void {
this.apiService.getData().subscribe((data) => {
console.log(data);
});
}
- Now, we can display the fetched data in the component’s template. Open
src/app/api-consumer/api-consumer.component.html
and update it with the following code:
<div *ngFor="let item of data">
<p>{{ item.title }}</p>
</div>
- Finally, run the Angular development server using the following command:
ng serve
Navigate to http://localhost:4200/
in your web browser to see the API data displayed in the component.
That’s it! You have successfully learned how to consume APIs using Angular in 2023. Remember to replace the sample API with your own endpoint to fetch data specific to your application. Happy coding!
Parabéns pela didática!! Conteúdo show
As músicas… arrebentou kkk
Top demais o vídeo
Exelente aula!!!
Esse video tirou muitas duvidas minhas … show
a unica forma de alterar o array dos dados nesse caso seria refazendo o request de listar? pq fica meio redundante listar tudo sabendo que foi alterado um registro ou adicionado um novo, pensando em uma lista de dados maior, pecaria bastante na perfomance
Muito bom o vídeo! Mas estou com um problema bem incomum, o meu id sempre fica zerado, não incrementa
pra que complicar ? gera logo um ng g s nomeServiço, pra quem ta aprendendo angular assim fica mais facil, uma dica boa pra vc.
Um dos melhores vídeos que já vi. Estou um pouco desatualizado. Trabalho com Angular desde 2012 (versão JS).
Isso tudo que está ensinando, funciona com o Angular 17?
Vídeo muito bom, conteúdo direto, sem enrolação..
Humilde e bom ao mesmo tempo. Tu é fera!
Moço, não tem ninguém ensinando a colocar o API do maps com busca automática no angular ^16, apenas a colocar o mapa, sem a busca propriamente dita, estou sofrendo pra conseguir fazer isso no trabalho, será que você pode ensinar? Obrigada
Que aula boa… vou Assistir de novo pra fazer… ❤
Muito bom Cristian
Se garantiu muito com esse vídeo, mas o final do video foi só o caos hahahahhaa. obrigado mano!
uma duvida que eu tenho, ali na parte do adicionar musica ja que vc usou aquela forma ali do pipe async n teria como atualizar diretamente a variavel pq ela ficou como observable e n mais como um array, ai no caso tu fez a chamada pra api novamente chamando a listagem, n teria uma maneira melhor de fazer isso sem precisar fazer uma requisição a mais?
brigadao pelo video irmao, sensacional, agora uma duvida que sempre tive sobre tipagem, quando temos uma api grande como por exemplo a pokeapi, como tipamos nesse caso? eu sei que e uma pergunta abrangente pq a api e gigante mais so por exemplo, tipo se eu fosse pegar apenas o title, skills e image sabe… talvez voce possa futuramente fazer algum video assim consumindo uma api open source, n sei se eh sua vontade mais seria legal kkkk
Aula sensacional, muito obrigado por compartilhar esse conteúdo.
Top de mais. Parabéns
Você já começou o vídeo com a api rodando, deveria ter ensinado a instalar
comando para iniciar o json server: npx json-server –watch db.json aula muito top estou iniciando no angular venho do react e não tem muito conteudo de angular na internert ta de parabéns