利用node 搭建api接口

node.js之api接口
先决条件安装gongodb数据库

一、随便建一个文件夹,里面再建一个文件夹,win+r打开cmd输入指令mongod --dbpath 刚刚建的文件夹树状目录,例如(…/…/data/db),创建一个新数据库,————mongod --dbpath 刚刚建的文件夹树状目录,如果该文件夹没有数据库则从新创建,如果有则开启。

二、再随便建一个文件夹用于存放node服务,进入创好的文件夹 npm init 会生成一个package.json文件(这个文件会记录npm所安装的所有依赖,非常重要。nodemoudesl可以删掉来大大减小文件大小,只需要下回npm i 所有的依赖又会回来,但是package删掉了,你的服务也就GG了,除非你记得安装过哪些依赖,反正我是记不住的),建议建一个大文件夹,里面建三个文件夹分别用于存放、客户端(也就是react写的哪些网页)、后台服务(存放api接口那一套)、数据库(也就是建立mongodb数据库那个文件),里面建一个入口文件app.js(名字随便取)

三、服务端所需要的依赖
npm i express(主要后台服务框架)
npm i mongodb(在服务文件中连接数据库的中间件)

四、主文件app.js

var express = require('express');
//引入连接数据库中间件
var MongoClient = require('mongodb').MongoClient;
//数据库地址
var url = "mongodb://127.0.0.1:27017";


var app = express()

//跨域设置
app.all('*', (req, res, next) => {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By", ' 3.2.1');
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
})

//连接数据库
MongoClient.connect(url, { useNewUrlParser: true }, (err, db) => {
    if (err) throw err
    //新加数据
    app.get('/add',(req,res)=>{
        //固定数据
        // let newdata = [
        //     {
        //         name: "小明",
        //         age: 20,
        //         school: "映天"
        //     },
        //     {
        //         name: "大明",
        //         age: 20,
        //         school: "映天"
        //     }
        // ]
        // let list = db.db("list")
        // list.collection("name").insertMany(newdata, (err, res) => {
        //     if (err) throw err
        // })


        //添加用户指定数据,在node中用户请求的参数、get在query中,post请求在body里
        let newdata=req.query
        //声明指定集合
        let list = db.db('list')
        list.collection("name").insert(newdata,(err,result)=>{
            if (err) throw err
            res.json("成功")
        })
    })

    //查询数据
    app.get('/find', (req, res) => {
        let list = db.db('list')
        list.collection('name').find({}).toArray((err, result) => {
            if (err) throw err
            res.json(result)
        })
    })
}
)

var server = app.listen(8080, () => {
})  

jax请求示例

axios({
            url:"http://localhost:8080/add",
            params:{
                name:"汤姆",
                age:21,
                school:"清华"
            }
        }).then((res)=>{
            console.log(res)
        })
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值