Mocker API — это инструмент для создания имитаций REST API. Он может быть полезен при тестировании приложений без реального сервера REST API.
Особенности:
mkdir mocker-app && cd mocker-app
# Создание файла конфигурации программы-имитации по правилам
touch api.js
# Глобальная установка
npm install mocker-api -g
# Запуск сервиса
mocker ./api.js
# Запустить сервер на localhost:8000
mocker ./api.js --host localhost --port 8000
Добавьте его в раздел зависимостей вашего проекта.
npm install mocker-api --save-dev
Mocker API поддерживает имитацию, которую можно настроить в файле mocker / index.js
.
Вы можете изменить параметры http-proxy и добавить прослушиватели событий, добавив конфигурацию httpProxy
.
const proxy = {
// Обработка в первую очередь.
// apiMocker(app, path, option)
// Это параметры опции для apiMocker
_proxy: {
proxy: {
// Преобразование пути строки (например, `/user/:name`) в регулярное выражение.
// https://www.npmjs.com/package/path-to-regexp
'/repos/(.*)': 'https://api.github.com/',
'/:owner/:repo/raw/:ref/(.*)': 'http://127.0.0.1:2018',
'/api/repos/(.*)': 'http://127.0.0.1:3721/'
},
// Перезапись целевого URL-адреса. Ключ объекта будет использоваться как регулярное выражение для сопоставления пути.
// https://github.com/jaywcjlove/mocker-api/issues/62
pathRewrite: {
'^/api/repos/': '/repos/',
},
changeHost: true,
// Изменение параметров http-proxy
httpProxy: {
options: {
ignorePath: true,
},
listeners: {
proxyReq: function (proxyReq, req, res, options) {
console.log('proxyReq');
},
},
},
},
// =====================
// По умолчанию GET запрос.
// https://github.com/jaywcjlove/mocker-api/pull/63
'/api/user': {
id: 1,
username: 'kenny',
sex: 6
},
'GET /api/user': {
id: 1,
username: 'kenny',
sex: 6
},
'GET /api/user/list': [
{
id: 1,
username: 'kenny',
sex: 6
}, {
id: 2,
username: 'kenny',
sex: 6
}
],
'GET /api/:owner/:repo/raw/:ref/(.*)': (req, res) => {
const { owner, repo, ref } = req.params;
// http://localhost:8081/api/admin/webpack-mock-api/raw/master/add/ddd.md
// owner => admin
// repo => webpack-mock-api
// ref => master
// req.params[0] => add/ddd.md
return res.json({
id: 1,
owner, repo, ref,
path: req.params[0]
});
},
'POST /api/login/account': (req, res) => {
const { password, username } = req.body;
if (password === '888888' && username === 'admin') {
return res.json({
status: 'ok',
code: 0,
token: "sdfsdfsdfdsf",
data: {
id: 1,
username: 'kenny',
sex: 6
}
});
} else {
return res.status(403).json({
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )