yapi (YMFE/yapi)
Searching Database…
Что это такое?
YApi — это визуальная платформа для управления API, созданная для разработчиков, продакт-менеджеров и тестировщиков: в одном месте можно документировать, отлаживать, мокать и автоматически тестировать ваши API.
Это облачный сервис, куда нужно регистрироваться, или я разворачиваю его сам?
Вы разворачиваете его сами: YApi — полноценная веб-платформа, которую вы ставите на свой сервер (обычно во внутреннюю сеть компании), и вся команда пользуется ею через браузер.
Как его запустить?
Выполните 'npm install -g yapi-cli', а затем 'yapi server' — визуальный мастер развёртывания завершит настройку прямо в браузере; после этого сайт запускается командой 'node /server/app.js'. Также есть неофициальные образы для Docker и docker-compose.
Что нужно на сервере перед установкой?
Node.js версии 7.6 или новее, MongoDB версии 2.6 или новее и git — вот и весь список требований на стороне сервера.
Есть ли подводные камни сразу после развёртывания?
У стартового админ-аккаунта пароль по умолчанию — 'ymfe.org', поэтому после первого входа смените его в личном кабинете. Зато обновления проходят безболезненно: 'yapi update' подтягивает свежий код, не затрагивая данные существующих проектов.
Нужно ли команде что-то устанавливать для повседневной работы?
Нет — когда сервер развёрнут, участники просто открывают адрес экземпляра в браузере и заходят в систему, так что работать можно с любого компьютера, где есть браузер.
Оно бесплатное, в том числе для работы?
Да — YApi — проект с открытым исходным кодом под лицензией Apache License 2.0, и в README подчёркивается, что он бесплатный; платных тарифов не упоминается.
Что он умеет, кроме хранения документации по API?
Большая часть рабочего процесса происходит прямо внутри YApi: отладка запросов в духе Postman, автоматические тесты с проверками Response и встроенный MockServer. Интерфейсы и структуры их ответов описываются с помощью Json5 и Mockjs, а существующие данные можно импортировать из Postman, HAR или Swagger.
Как MockServer решает, что вернуть?
Помимо обычных случайных мок-данных, есть функция Mock Expectation: вы задаёте правила фильтрации запросов, и подходящие запросы получают ваш ожидаемый ответ вместо случайных значений.
Можно ли сгенерировать клиентский код из описаний моего API?
Да, с помощью инструментов экосистемы: yapi-to-typescript генерирует функции запросов на TypeScript, yapi-gen-js-code — функции запросов на JavaScript, а SwiftJSONModeler создаёт модели на Swift из описаний интерфейсов YApi.
Это проверенный в бою проект или чьё-то хобби?
Он широко используется в продакшене — в README среди пользователей перечислены такие компании, как Qunar, Ctrip, Meituan, Baidu, Tencent, Alibaba, JD, Toutiao и Kuaishou.
What are similar projects?
metersphere, json-server, swagger-ui, awesome-nestjs, parse-server, msw, gin-vue-admin, BrasilAPI
Which topics is it in?
api-management, mocking, mock, swagger, mongodb, enterprise, testing, documentation, rest-api, developers, web-app, api
