接着之前的,我们这次进行路由开发。不知道的童鞋看这里 ---koa+mongodb开发后台接口(一)---项目搭建
首先,我们在根目录下创建router文件夹(主要是整合整个项目路由,也可以说是给前端的接口),router文件夹下创建index.js;
然后,我们需要修改app.js添加以下代码
//app.js
// 引入路由文件
const Routes = require('./router/index')
// 初始化路由中间件
app.use(Routes.routes()).use(Routes.allowedMethods());
// 错误处理
app.on('error', (err, ctx) => {
console.error('server error', err);
});
接着我们需要对路由文件进行开发(详细请看代码,有注释)
//router/index.js
// 引入路由中间件(记得启动项目前安装依赖包哦)
const Router = require('koa-router');
// 实例化路由
let router = new Router();
/**
* 接口开发
*/
//登录
const loginApiConfig = require('../controls/login');
router.post('/api/login', loginApiConfig.loginSignIn);
// 导出路由
module.exports = router;
可以看到我在这里引入了一个contols文件夹下的文件,这个主要就是接口逻辑存放文件夹。那我们就先在项目根目录下创建该文件夹,然后在里面创建一个login.js文件。
这个时候我们的项目目录如下图:
我们接着来看这个接口处理文件login.js
//controls/login.js
let loginSignIn = async ctx => {
let requestBody = ctx.request.body;
if(requestBody.username === 'admin' && requestBody.password === '123456') {
ctx.body = {
status: 200,
result: {
code: 1,
userInfo: {},
message: '登录成功'
}
}
}
};
const adminApiConfig = {
loginSignIn
};
module.exports = adminApiConfig;
目前这个文件的代码很简单,我就不做解析和注释了。然后我们在postman中进行测试结果如下(当然你需要重新启动一下项目哦):
我们可以看到返回的结果和我们代码中写的是一样的。这样我们的登录接口就开发完成了。
我们来看下现在项目中完整的代码
//app.js
// 引入koa
const Koa = require('koa');
// 引入ctx.boby解析中间件
const bodyParse = require('koa-bodyparser');
// 引入跨域中间件
const cors = require('koa-cors');
// 引入路由文件
const Routes = require('./router/index')
// 实例化koa
const app = new Koa();
// 使用ctx.body解析中间件
app.use(bodyParse());
// 使用跨域中间件,解决跨域问题
app.use(cors());
// 初始化路由中间件
app.use(Routes.routes()).use(Routes.allowedMethods());
// 错误处理
app.on('error', (err, ctx) => {
console.error('server error', err);
});
// 设置端口监听
app.listen(3000, () => {
console.log('端口号是3000')
})
//router/index.js
const Router = require('koa-router');
// 实例化路由
let router = new Router();
/**
* 接口开发
*/
//登录
const loginApiConfig = require('../controls/login');
router.post('/api/login', loginApiConfig.loginSignIn);
// 导出路由
module.exports = router;
//controls/login.js
let loginSignIn = async ctx => {
let requestBody = ctx.request.body;
//进行数据检查(后面会在这里进行数据库查询)
if(requestBody.username === 'admin' && requestBody.password === '123456') {
ctx.body = {
status: 200,
result: {
code: 1,
userInfo: {},
message: '登录成功'
}
}
}
};
const adminApiConfig = {
loginSignIn
};
module.exports = adminApiConfig;
当然,我们还没有用到数据库。别着急,下一次我们就会用到数据库。没有安装MongoDB的童鞋,也可以先去安装下,以及学习一些简单的数据库操作。下次见……
koa+mongodb开发后台接口(一)---项目创建
koa+mongodb开发后台接口(三)---数据库连接