Как работать с API Dadata?

Для работы с 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!