DadataCityCacheService

Работает локально слушает на https://localhost:7123 http://localhost:5142

Команда HTTP POST https://localhost:7123/api/addresses

ожидает в теле запроса строку, например "мск центральная 11/-90"

Замечания:

Токен и секретный ключ могут не работать, если закончились оплаченные запросы! я оплатил 1000 запросов, но в теории могут закончиться, если в логах 403 ошибка, нужна новая регистрация)

В случае получения из API dadata инфо ТОЛЬКО ПО ГОРОДУ нужно было сохранять и выводить только "fias_id", "result", "geo_lat", "geo_lon", "timezone" (- это информация о городе) я сделал так: Если приходит запрос с названием города, но без дополнительной информации (fias_id = city_fias_id), я сохраняю в БД и(!) в ответе присылаю информацию о городе Если приходит запрос с распознаваемым названием города, но улица и тп не распознались, в ответе присылаю информацию о городе

Если будет отправляться пустая строка и тп, все, что приведет к ответу с АПИ Dadata, то в нашем сервисе не произойдет необработанного исключения, просто вернутся массив со всеми значениями null

Требовался возвращаемый тип на запрос "массив данных", поэтому возвращается массив строк

Используется синглтоновый DadataApiClient

Логику специально оставил в контроллере, без медиатора и тп, чтобы немного сэкономить на времени исполнения