VirAPI — онлайн-платформа виртуального интерфейса данных в облаке
Встроенная поддержка MockJs позволяет получать виртуальные данные по запросу. Это помогает разработчикам, особенно frontend-разработчикам, быстро создавать приложения.
VirAPI: введение
VirAPI (Virtual API) — это онлайн-платформа для виртуального доступа к данным в облаке. Она предоставляет неинтрузивный доступ к виртуальным данным через удалённые интерфейсы URL. Платформа поддерживает синтаксис MockJs и позволяет генерировать ответы на запросы с пользовательскими правилами. VirAPI полезна для локального тестирования или демонстрации проектов.
С помощью VirAPI можно получить случайные виртуальные ответы на удалённые запросы без необходимости разработки собственных бэкенд-сервисов. Это особенно полезно для разработчиков, которые хотят продемонстрировать функциональность своих приложений или провести бизнес-тестирование без ожидания разработки бэкенда.
Особенности VirAPI:
Открытый исходный код VirAPI
Код фронтенда доступен в репозитории GitHub: https://github.com/bluvenr/open_virapi_front_end.
В этом проекте используется Eggjs в качестве фреймворка для логики бэкенда.
После настройки необходимой среды выполните команду npm install
для установки зависимостей проекта.
Для локального запуска выполните npm run dev
. Для запуска в рабочей среде выполните npm start
. Чтобы остановить проект, выполните npm stop
. Из-за особенностей фреймворка Eggjs рекомендуется перезапускать проект после каждого изменения кода с помощью команды npm restart
.
По умолчанию порт сервера равен 7001. Для доступа к консоли управления можно использовать адрес http://127.0.0.1:7001/
. При развёртывании на сервере можно настроить nginx или apache для перенаправления запросов.
Конфигурационные файлы находятся в каталоге config/config.default.js
. Если вы планируете использовать проект в рабочей среде, рекомендуется скопировать файл config.default.js
в файл с именем config.local.js
, расположенный в том же каталоге, и настроить необходимые параметры конфигурации.
Содержимое файла config.default.js
:
/* eslint valid-jsdoc: "off" */
'use strict';
const fs = require('fs');
const path = require('path');
/**
* @param {Egg.EggAppInfo} appInfo app info
*/
module.exports = appInfo => {
/**
* built-in config
* @type {Egg.EggAppConfig}
**/
const config = {
mongoose: {
// url: 'mongodb://127.0.0.1:27017/open_virapi_db',
options: {
// useMongoClient: true,
autoReconnect: true,
reconnectTries: Number.MAX_VALUE,
bufferMaxEntries: 0,
},
},
bcrypt: {
saltRounds: 10,
},
security: {
csrf: {
enable: false,
ignoreJSON: true,
},
domainWhiteList: [
'http://localhost:8080',
],
},
validate: {
convert: true,
},
cors: {
// origin: '*',
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
},
jwt: {
secret: 'virapi-202008192239',
},
proxy: true, // 通过ips获取nginx代理层真实IP
session: {
key: 'Vir_SESSION', // 承载 Session 的 Cookie 键值对名字
maxAge: 2 * 3600 * 1000, // Session 的最大有效时间
httpOnly: true,
encrypt: true,
renew: true, // 每次访问页面都会给session会话延长时间
},
static: {
prefix: '/',
dir: path.join(appInfo.baseDir, 'app/public'),
dynamic: true,
preload: false,
maxAge: 0,
buffer: false,
},
};
// use for cookie sign key, should change to your own and keep security
config.keys = appInfo.name + '_hNW87vqPkMiMpLBHEtolB3Yg6vQsk5Ip4AJzCih2QCXbZBmjh5I033ELjdwB';
// add your middleware config here
config.middleware = [
'errorHandler',
];
config.siteFile = {
'/favicon.ico': fs.readFileSync(appInfo.baseDir + '/app/public/favicon.ico'),
};
// add your user config here
const userConfig = {
// myAppName: 'egg',
imgUri: '/images',
imgDir: appInfo.baseDir + '/app/public/images',
};
return {
...config,
...
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )