DEV Community на русском
Подписаться
Show DEV: Создание API спецификаций смартфонов с помощью .NET и Caddy
Интеграция API спецификаций мобильного оборудования исторически была затруднена из-за неполных и ненормализованных данных. Сырые строковые форматы спецификаций, такие как частота обновления экрана и тактовая частота процессора, неудобны для программной логики. Для решения этой проблемы был разработан API Device Specs, предлагающий решение для неструктурированных и беспорядочных данных. Новый API переносит нагрузку по парсингу на бэкенд, предоставляя чистые, строго типизированные и нормализованные JSON-данные. Это означает, что числа являются настоящими числами, булевы значения — булевыми, а сложные спецификации представлены в виде структурированных массивов. Например, емкость аккумулятора — это целое число, а наличие NFC — четкое булево значение, а не текст. API также поддерживает глубокую фильтрацию, позволяя пользователям запрашивать очень специфические аппаратные параметры через параметры URL. Это позволяет выполнять сложные поиски, такие как поиск устройств с емкостью аккумулятора более 5000 мАч, объемом оперативной памяти не менее 8 ГБ, от Samsung или Xiaomi и содержащих "pro" в названии модели. Бэкенд построен на ASP.NET Core Web API, а фронтенд использует гибрид Blazor WebAssembly/Server. Caddy используется в качестве обратного прокси и обработчика SSL благодаря автоматическому управлению сертификатами HTTPS и чистому конфигурированию. Документация API и интерактивное тестирование доступны онлайн для пользователей, чтобы они могли изучить их и оставить свои отзывы.