-
Notifications
You must be signed in to change notification settings - Fork 0
03_primeiroservice
Para referência a branch utilizada é a topicos/t3/p4.
Vamos criar nosso primeiro service. Um service é uma classe definida para ser utilizada através de injeção de dependência, responsáveis principalmente por interação externas. (Faça o Ajax aqui)
Vamos utilizar uma API externa para listagem paises pela língua materna.
Certifique-se de estar dentro da pasta src\app\paises do projeto.
ng generate service pesquisaPaises
Vamos fazer as seguintes alteraçoes:
- Criar o serviço pesquisaPaises.
- Importar no PaisesModule o HttpClientModule, para permitir o uso do serviço HttpClient no pesquisa Paises.
- Alterar o layout no paises-list.component.html.
- Alterar o paises-list.component.ts para utilizar o pesquisaPaises.
A branch com as alteraçoes é a topicos/t4/p1.
Para ver as alteraçoes veja o DIFF das alteraçoes.
Aqui vamos utilizar o RxJS para criar uma pesquisa do tipo autocomplete, para pesquisar os paises por continente.
Os nomes devem ser usando em inglês:
- Africa.
- Europe.
- Asia.
- Americas.
- Oceania
Vamos fazer as seguintes alteraçoes:
- Criar uma nova classe para modelar o retorno da api:
ng g class restCountryApiModel. - Importar no PaisesModule o ReactiveFormsModule, para permitir o uso do FormControl para manipular dados.
- Alterar o pesquisaPaises para adicionar a nova pesquisa.
- Alterar o layout no paises-list.component.html.
- Alterar o paises-list.component.ts para utilizar o novo metodo do pesquisaPaises. Será necessário assinar um fluxo de dados gerado através do FormControl, para interagir com o campo constantemente.
Importante: é utilizada um catchError evitar que o fluxo de dados morra, a api utilizada retorna 404 quando não existem dados, qualquer erro não tratado desfaz o fluxo de dados.
A branch com as alteraçoes é a topicos/t4/p2.
Para ver as alteraçoes veja o DIFF das alteraçoes.