Vocab Bloom Hub

Переход с dictionaryapi.dev

Если приложение ищет английские слова через Free Dictionary API, направьте тот же путь запроса на экземпляр Vocab Bloom Hub. Адаптер совместимости возвращает привычный JSON-массив для v2 и старого v1. Сами определения берутся из активного датасета вашего экземпляра: замена URL не копирует словарь внешнего сервиса.

Замените базовый URL

Базовый URLПуть поиска
Раньшеhttps://api.dictionaryapi.dev/api/v2/entries/en/hello
Теперьhttps://<ваш-экземпляр>/api/compat/dictionaryapi/v2/entries/en/hello

Например, публичный экземпляр проекта отвечает по адресу https://vocab-bloom-hub.com/api/compat/dictionaryapi/v2/entries/en/hello. Если клиент хранит полный URL, замените только префикс; оставьте язык и закодированное слово в пути. Старый путь /v1/entries/en/{word} тоже поддерживается. Запросы анонимные и доступны только для чтения; ключ API не нужен. Адаптер не обращается к dictionaryapi.dev.

const baseUrl = 'https://vocab-bloom-hub.com/api/compat/dictionaryapi';
const word = 'hello';
const entries = await fetch(`${baseUrl}/v2/entries/en/${encodeURIComponent(word)}`).then((r) => r.json());

Поддерживаются en и исторические псевдонимы en_US / en_GB. Другие языки адаптер не обслуживает. Он не принимает параметры запроса, в том числе dataset. Установите нужный датасет в экземпляр с PostgreSQL и активируйте его через карточку в админке. Активация изменит ответы всех публичных запросов к этому экземпляру. В SQLite доступен только датасет default.

Чтение всех датасетов в этом формате

Добавьте /datasets к пути адаптера:

curl -fsS 'http://localhost:3240/api/compat/dictionaryapi/v2/entries/en/hello/datasets'
# Доступен и старый формат v1:
curl -fsS 'http://localhost:3240/api/compat/dictionaryapi/v1/entries/en/hello/datasets'

Эти расширения Vocab Bloom Hub читают все установленные датасеты без переключения активного. Общий ответ — { data, meta }. Каждая группа в data[] содержит условия своего датасета (включая dataset, title, active, source и лицензии), status и response:

  • status: 200: в response тот же массив v1 или v2, который обычный адаптер вернул бы из этого датасета, со сведениями о происхождении в vocabBloom.
  • status: 404: в response объект отсутствующего слова { title, message, resolution } в формате адаптера.

HTTP-статус всего запроса — 200, даже если слова нет ни в одном датасете. meta содержит запрошенные word и language, число datasets и found — сколько датасетов нашли записи. Неподдерживаемый язык по-прежнему завершает запрос с 404; параметры query не принимаются.

Например, получите результат WordNet, не меняя активный датасет:

curl -fsS 'http://localhost:3240/api/compat/dictionaryapi/v2/entries/en/hello/datasets' \
  | jq '.data[] | select(.dataset == "wordnet") | {status, response}'

В ответ входят только установленные датасеты: у неустановленного WordNet группы нет. На SQLite будет одна группа default. Обычный путь адаптера по-прежнему возвращает массив из активного датасета; обёртка /datasets предназначена для инструментов, которым нужны все датасеты. Полный контракт — в описании API.

Проверьте клиент перед переходом

  • Адаптер возвращает один элемент массива на запись/часть речи. Количество элементов и определений может отличаться от внешнего сервиса. В v2 есть meanings[], в v1 — meaning.
  • vocabBloom и sourceUrls описывают настоящий источник. Не называйте датасет проекта или OpenGloss данными Wiktionary. Клиент со строгой проверкой полей должен допускать vocabBloom; при распространении данных сохраняйте применимые лицензии и атрибуцию.
  • Отсутствующее слово и неподдерживаемый язык дают 404 в формате внешнего API. Поиск по словоформе может вернуть базовое слово. У экземпляра свои лимит запросов и правила кэша.
  • Произношения, примеры, группировка синонимов и охват слов зависят от установленного датасета. Сравните важные вашему приложению слова до переключения рабочего трафика.

Подробности полей и HTTP-поведения — в разделе совместимости с dictionaryapi.dev. Установка и активация описаны на странице «Датасеты».

Снимки ответов в сравнении на сайте

Сайт использует сохранённые ответы оригиналов для девяти готовых слов и поддерживаемых вариантов версии и переводов. JSON входят в репозиторий и обновляются вручную командой yarn workspace site comparisons:generate (--missing-only повторяет загрузку отсутствующих или неудачных снимков). Сборка, запуск и просмотр сайта не обращаются к оригиналам. Показана дата получения. При неудачном обновлении сохраняется предыдущий успешный снимок с предупреждением, а при его отсутствии — ошибка. Датасеты экземпляра запрашиваются в реальном времени.

Недоступные примеры v1 восстановлены из сохранённых v2 по опубликованной функции transformV2toV1 сервиса. Они помечены в сравнении как восстановленные, без даты получения ответа v1 и без утверждения об HTTP-ответе. Ручное обновление может заменить их настоящими ответами v1; при сбое восстановленный пример сохраняется.

Сравнение ответов

Ответы оригинального сервиса сохранены и обновляются вручную. То же английское слово запрашивается во всех установленных датасетах экземпляра в формате dictionaryapi.dev.

По умолчанию скрыты только расширения vocabBloom. Остальные поля, значения и порядок элементов сохранены, включая источники и лицензии. Атрибуция доступна в условиях датасета. Ответы оригиналов обновляются вручную; просмотр, сборка и запуск сайта не вызывают внешние сервисы.

Результаты для «hello»

Оригинальный сервис · dictionaryapi.dev

Загрузка…

Датасеты экземпляра

Загрузка…