利用node.js编写后台接口

上个月开始学习了解node.js,在学习的过程中边学边改造之前做过的课程设计,下面做下笔记。

搭建基于express框架的运行环境

  • 安装express generator生成器
    cnpm i -g express-generator

  • 通过生成器自动创建项目
    express server

  • 切换到server目录下
    cd server

  • 下载依赖
    cnpm i

      

  • 跑起项目
    cnpm run start 

  • 打开浏览器输入访问 127.0.0.1:3000 
  • 至此,就可以开始写接口了

 

 

编写接口

  • 在server目录下新建一个文件夹models,并在models文件夹下新建 notices. js 
    let mongoose = require('mongoose');
    
    let Schema = mongoose.Schema;
    
    let noticeSchema = new Schema({
      "noticeId": String,
      "noticeTitle": String,
      "noticeContent": String,
      "adminId": Number,
      "adminName": String
    });
    
    module.exports = mongoose.model('Notice',noticeSchema);

     

  • 在 app.js 中引用该模块,添加下面两句
    var noticesRouter = require('./routes/notices');
    app.use('/notices', noticesRouter);

     

  • 在routes 目录下新建一个 notices.js 文件,开始相关接口的编写
    let express = require('express');
    let router = express.Router();
    let mongoose = require('mongoose');
    let Notices = require('../models/notices');
    
    //连接MongoDB数据库
    mongoose.connect('mongodb://127.0.0.1:27017/park',{ useNewUrlParser: true });
    // mongoose.connect('mongodb://root:123456@127.0.0.1:27017/park');
    
    mongoose.connection.on('connected', function() {
      console.log('MongoDB connected success.');
    });
    
    mongoose.connection.on('error', function() {
      console.log('MongoDB connected fail.');
    });
    
    mongoose.connection.on('disconnected', function() {
      console.log('MongoDB connected disconnected.');
    });
    
    router.get("/", function(req, res, next) {
      // res.send('Hello, notices list.');
      Notices.find({}, function (err, doc) {
        if(err) {
          res.json({
            status: '1',
            msg: err.message
          });
        } else {
          res.json({
            status:'0',
            msg: '',
            result: {
              count: doc.length,
              list: doc
            }
          })
        }
      });
    });
    
    module.exports = router;

     

  • 前端用的是vue,跨域处理暂时采用代理的方式,在项目文件夹下的 config 文件夹下的 index.js 中的 proxyTable 里面 增加 '/': { target: 'http://localhost:3000' } ,如下所示
    proxyTable: {
          '/': {
            target: 'http://localhost:3000'
          }
    },

     

  • 测试请求结果

  • 前端接口请求结果

  • 页面展示

转载于:https://www.cnblogs.com/let423/p/9738651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值