1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/seebin-snake-api-mini

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 9.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 15:42 a688efd

SNAKE-API мини

Новая версия UI 2.0

Интерфейс

snake-api-mini-home

Описание

Проект для управления небольшими моками API на основе обратного прокси с использованием фильтрации запросов. Реализует использование моков в разработке фронтенд-интерфейсов без необходимости изменения исходного кода. Использует MongoDB для хранения данных моков, что позволяет использовать визуальный редактор вместо ручной правки JSON-файлов. Возможность в любой момент менять возвращаемые данные и обрабатывать различные ситуации. Больше нет необходимости беспокоиться о том, что вы могли забыть какую-то логику, если только вы сами не забыли требования.

Что? В тестовой среде происходит выпуск, а API больше недоступны? Не волнуйтесь, активируйте моки API и продолжайте работу!

Особенности+ На основе обратного прокси, мок-запросы возвращают мок-данные, а реальные запросы — настоящие данные.

  • Можно отдельно активировать мок-состояние для каждого API; деактивация мока возвращает реальные данные сервера.
  • JSON5 редактор, расширенная структура JSON-данных, поддержка добавления комментариев, ключи без кавычек и прочие мощные возможности.
  • Возможность выборочного импорта данных Swagger API; можно импортировать отдельные API, а не все данные Swagger.
  • Поддержка создания новых API с конфигурацией нескольких серверов и префиксов.
  • Использование MockJS для автоматического генерирования моковых данных.
  • Одноклик удаление всех моков, кроме зафиксированных, подготовка к новым требованиям моков, чтобы избежать путаницы из-за лишних моков.
  • ...### Архитектура программного обеспечения

Стек технологий backend
Node.js, MongoDB, Express...

Стек технологий frontend
React, React Router, Redux...

Инструкция по использованию (версия Docker) (внутри Docker автоматически установлен MongoDB) — метод по умолчанию

Предварительные условия: установите Docker и Compose (Docker Desktop устанавливает их по умолчанию), Ссылка на официальный сайт Docker Desktop

  1. git clone https://gitee.com/seebin/snake-api-mini.git
  2. cd snake-api-mini
  3. npm install
  4. Выполните следующую команду: docker-compose up -d
  5. Откройте браузер и перейдите по адресу http://localhost:3004/mock, чтобы управлять моками API

Инструкция по использованию (локальная версия) (необходимо самостоятельно установить MongoDB)

Сначала скачайте и установите MongoDB, Ссылка на официальный сайт MongoDB для загрузки

  1. git clone https://gitee.com/seebin/snake-api-mini.git
  2. cd snake-api-mini
  3. npm install
  4. Измените адрес подключения базы данных MongoDB в файле config.js, раскомментируйте локальное подключение, закомментируйте подключение Docker
  5. npm start
  6. Откройте браузер и перейдите по адресу http://localhost:3004/mock, чтобы управлять моками API

Инструкция по использованию1. Первый доступ к http://localhost:3004/mock приведёт вас на страницу конфигурации проекта, где вы сможете задать адрес обратного прокси и другие настройки.

  1. Измените адрес службы интерфейсов существующего проекта на 127.0.0.1:3004.
  2. Откройте в браузере страницу: 127.0.0.1:3004/mock, чтобы добавить новый интерфейс.
  3. Запустите существующий проект и вызовите только что добавленный интерфейс. В ответ будет получен шаблон данных этого интерфейса.
  4. Установите состояние шаблона для только что добавленного интерфейса как "неактивное". При повторном вызове этого интерфейса данные будут возвращаться от реального адреса прокси.### Почему не использовать JSON? Слишком сложный процесс. Цель создания этой системы — упрощение процесса, а не усложнение его за счет использования многоуровневых структур JSON, которые могут увеличить объем работы. К тому же, есть ли что лучше Swagger?
    Основная цель — обеспечить бесперебойную работу фронтенд-разработки, а не расширять функционал бэкэнда.
    Что касается формата JSON5, он действительно удобен. Хотя структура JSON5 менее строго регламентирована, чем JSON, она может содержать проблемы с структурой. Однако изменения данных в нем очень просты: все поля видны сразу, и их можно легко менять.
    Цель программы — делать сложные вещи простыми.

Какие проблемы решает?

Используя обратный прокси, между фронтендом и сервером создается фильтрующая прослойка. Только те интерфейсы, которые требуют макета, используются, а остальные остаются реальными. Это позволяет продолжать добавлять новые интерфейсы на уже существующих страницах, при этом старые интерфейсы остаются в реальной среде, что делает данные более точными. Некоторые интерфейсы действительно не имеют макета, поэтому страница кажется без макета.
Поскольку обработка происходит между фронтендом и сервером, код фронта остается неизменным, и все интерфейсы остаются реальными, а процессы разработки также остаются такими же.### Часто используемые команды Docker

service docker start       # запуск Docker (Linux)
service docker stop        # остановка Docker (Linux)
docker logs -f 7d6287d43144   # просмотр логов контейнера
docker container ls        # просмотр списка контейнеров Docker
docker ps                 # просмотр запущенных контейнеров
docker restart 7d6287d43144   # перезапуск контейнера
docker-compose up -d      # запуск Docker Compose
docker-compose stop       # остановка Docker Compose

Участие в развитии

Автор: seebin

Общение

Группа общения в DingTalk: 21958681

Связанные ссылки

Установка MongoDB на Mac

Установка MongoDB на Windows

Адрес зеркала Ant-Design в Китае

Решение проблемы доступа к адресу управления API SNAKE-API мини-проекта Docker в Windows 10

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/seebin-snake-api-mini.git
git@api.gitlife.ru:oschina-mirror/seebin-snake-api-mini.git
oschina-mirror
seebin-snake-api-mini
seebin-snake-api-mini
master