8000 GitHub - jinggoing/mockApi: 结合mockjs 模拟数据的一个express api服务器 · GitHub
[go: up one dir, main page]

Skip to content
jinggoingPublic

About

结合mockjs 模拟数据的一个express api服务器

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

Repository files navigation

mockApi

结合mockjs 模拟数据的一个可以在本地模拟服务器并调试的 express api接口服务器

The mockjs official site: http://mockjs.com

##Usage ###Starting

$ cd ~/mockApi/
$ npm install
$ node app

open your brower enter 127.0.0.1:3001/user-info?username=hjx if success, you can see the brower return like {"code":0,"msg":"error","params":{"username":"123"}}

###Example

  • edit the controller ./app/controllers
var logger = require('../../config/log').logger;  
var mock = require('../mock/data')

module.exports = {
	test(req,res,next){
		console.log('test');		
		res.json({"success":true})
	},
	login(req,res,next){
		var data = mock.login();
		var params = req.query;  // 获取参数		
		data.params = params;		
		res.json(data);
	},
	userInfo(req,res,next){
		var data = mock.userInfo();	
		var params = req.query;  // 获取参数		
		data.params = params;		
		res.json(data)
	}
	//在这里添加你的接口处理
}

  • edit route ./app/routers
var qaController = require('../controllers/qa.controller');

module.exports = function (app) {
	app.use(bodyParser.json());
	app.use(bodyParser.urlencoded({ extended: true }));	
	app.route('/test').get(qaController.test);
	app.route('/login').post(qaController.login);
	app.route('/user-info').get(qaController.userInfo);
  //在这里添加你的接口url
}
  • edit mock ./app/mock
// 使用 Mock
var Mock = require('mockjs');
//mock使用参考 https://github.com/nuysoft/Mock/wiki/Basic  
var Random =Mock.Random;
module.exports = {
    userInfo(){
        //设置返回成功概率 3/10
        var code = Random.boolean(7, 3, true)? 1:0; 
        if(code===0){
            return {
                code:code,
                msg:'error'
            }
        }       
        return Mock.mock({
            code: code,    
			userId: Random.string( 15 ), 
			userName: Random.cname(), 
			userType: 104
		})
    },
    login(){
        return Mock.mock({ 
            code: 1,   
			token: Random.string( 15 )
		})
    }
	//在这里添加你的接口数据
}
  • express service
var log = require('./log');  
var logger = log.logger
var express = require('express');

module.exports = function(){
	logger.info("app start");
	
	var app = express();
	log.use(app);		
	app.use(express.static('./src'));
	app.set('views', __dirname + '/src');
	//引入路由文件
	require('../app/routers/qa.route')(app);
	//404 处理
	app.use(function(req ,res, next){
		res.status(404);
		try{
			return res.json('Not Found');
		}catch(e){
			console.error('404 set header after sent');
		}
	});
	
	//其他错误处理
	app.use(function(err, req, res, next){
		res.status(500);
		
		if(!err){
			return next();
		}
		try{
			return res.json(err.message || 'server error');
		}catch(e){
			console.log('500 set header after sent');
		}
	});
	
	var server = app.listen(3001, function () {
  		var host = server.address().address;
  		var port = server.address().port;
		console.log('app listening at ', port);
  		logger.info('app listening at ', port);
	});
	
	return app;
}

About

结合mockjs 模拟数据的一个express api服务器

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

0