koa+mongodb开发后台接口(二)---接口开发

接着之前的,我们这次进行路由开发。不知道的童鞋看这里 ---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文件。
这个时候我们的项目目录如下图:


1569748541.jpg

我们接着来看这个接口处理文件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中进行测试结果如下(当然你需要重新启动一下项目哦):


1569749174.png

我们可以看到返回的结果和我们代码中写的是一样的。这样我们的登录接口就开发完成了。
我们来看下现在项目中完整的代码

//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开发后台接口(三)---数据库连接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。