Для работы с API Dadata в Angular вам потребуется выполнить несколько шагов:
1. Установите необходимые зависимости:
Убедитесь, что у вас установлен Angular CLI, если нет - установите его с помощью команды npm install -g @angular/cli
.
2. Создайте новый проект Angular:
Откройте командную строку и выполните команду ng new dadata-api-example
для создания нового проекта Angular. Затем перейдите в новую папку проекта, используя команду cd dadata-api-example
.
3. Установите пакеты Dadata:
Выполните команду npm install dadata-suggestions --save
для установки пакета dadata-suggestions
для работы с API Dadata.
4. Создайте сервис для работы с API Dadata:
Создайте новый сервис Angular с помощью команды ng generate service dadata
, это создаст файл dadata.service.ts
в папке src/app
.
5. Импортируйте необходимые модули и классы:
Откройте dadata.service.ts
и добавьте следующий импорт в начало файла:
import { Injectable } from '@angular/core'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs';
6. Создайте конструктор и метод для отправки запроса к API Dadata:
Добавьте следующий код внутри класса DadataService
:
@Injectable({ providedIn: 'root' }) export class DadataService { private baseUrl = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/'; constructor(private http: HttpClient) { } public getSuggestions(query: string): Observable<any> { const token = 'YOUR_DADATA_API_TOKEN'; const httpOptions = { headers: new HttpHeaders() .set('Content-Type', 'application/json') .set('Authorization', `Token ${token}`) }; const body = { query: query, count: 5 }; return this.http.post<any>(`${this.baseUrl}suggest/address`, body, httpOptions); } }
Обратите внимание на переменную token
, где вам нужно указать ваш API-токен Dadata.
7. Используйте сервис в компоненте:
Откройте файл компонента, где вы хотите использовать API Dadata, и импортируйте сервис Dadata. Затем добавьте его в конструктор компонента и вызовите метод getSuggestions
с вашим поисковым запросом:
import { Component } from '@angular/core'; import { DadataService } from './dadata.service'; @Component({ selector: 'app-root', template: ` <input [(ngModel)]="searchQuery" placeholder="Enter your search query" /> <button (click)="getSuggestions()">Search</button> <ul> <li *ngFor="let suggestion of suggestions">{{ suggestion.value }}</li> </ul> `, }) export class AppComponent { searchQuery: string; suggestions: any[]; constructor(private dadataService: DadataService) { } getSuggestions(): void { this.dadataService.getSuggestions(this.searchQuery) .subscribe(data => { this.suggestions = data.suggestions; }); } }
Теперь вы можете использовать сервис DadataService
в любом компоненте Angular, чтобы отправлять запросы к API Dadata и получать подсказки адресов.
При передаче поискового запроса метод getSuggestions
возвращает наблюдаемый объект Observable
, и вы можете подписаться на результаты этого запроса, как показано в методе getSuggestions
компонента AppComponent
.
Не забудьте заменить YOUR_DADATA_API_TOKEN
на свой API-токен Dadata.
Надеюсь, эта информация поможет вам начать работу с API Dadata в Angular!