EasyCVR solr reference vue全局组件 vue修改样式 管理后台ui 微信小游戏开发视频 oracle查看数据库 idea整理代码 wordpress本地建站 python学习 python如何实现多线程 python中items python基础练习 python程序代码 java的string java注释 java实现多线程 java新建文件 javaenum coreldraw11 战地2单机地图 js删除数组指定元素 java疯狂讲义 js绝对值 js轮播图代码 电视免费软件 识别音乐的软件 数组删除指定元素 微信猜拳 梦幻手游助手 如何用ai设计字体 苹果手机不弹出信任 电脑还原软件 vs2008中文版下载 超级网游助手 键盘指法练习游戏 allowtransparency 幽灵推 非凡资源搜索器
当前位置: 首页 > 学习教程  > 

Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)

2020/10/16 17:59:45 文章标签: nodejs后端开发

项目结构 main.js(入口文件,开启9999端口监听,实现RESTful风格接口访问) const express require("express"); const app express(); const port 9999;//设置端口号,如果端口号被占用需要自己修改&#x…

项目结构

main.js(入口文件,开启9999端口监听,实现RESTful风格接口访问)

const express = require("express");
const app = express();
const port = 9999;//设置端口号,如果端口号被占用需要自己修改,否则无法跑起来(建议不要用80和8080,一般情况都会被占用)
app.listen(port, () => console.log(`http://127.0.0.1:${port}/user/select`));//打印一下接口用例地址
app.use(require("body-parser").json());
app.use(require("body-parser").urlencoded({extended: false}));
//设置跨域访问
app.all("*", function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "*");
    res.header("Access-Control-Allow-Methods", "*");
    res.header("X-Powered-By", "http://www.shuzhiqiang.com");
    res.header("Content-Type", "application/json;charset=utf-8");
    res.header("Access-Control-Allow-Credentials",true);//携带cookie跨域请求
    req.method.toUpperCase() === "OPTIONS" ? res.sendStatus(200) : next();//防止在预请求阶段就响应接口
});
//加入前端需要访问的接口API名称↓↓↓↓
app.use("/user", require("./api/user"));
app.use("/area", require("./api/area"));

api/user.js(业务实现数据查询)

//全局Express框架
const express = require("express");
const router = express.Router();
module.exports = router;

//加载配置文件
const config = require("../config/mysql");
const mysql = require("mysql");
const conn = mysql.createConnection(config);

//查询数据(all方法支持POST、GET、PUT、PATCH、DELETE传参方式)
router.all("/select", (req, res) => {
    // 定义SQL语句
    const id = req.body.id || req.query.id;
    const sqlStr = "select * from user " + (id ? "where id = ?" : "");

    conn.query(sqlStr, id, (err, res) => {
        if (err) return res.json({code: 404, data: "获取失败"});
        res.json({
            code: 0, data: res
        });
    });
});

api/area.js(业务实现数据查询)

//全局Express框架
const express = require("express");
const router = express.Router();
module.exports = router;

//加载配置文件
const config = require("../config/mysql");
const mysql = require("mysql");
const conn = mysql.createConnection(config);

//查询数据(all方法支持POST、GET、PUT、PATCH、DELETE传参方式)
router.all("/select", (req, res) => {
    // 定义SQL语句
    const id = req.body.id || req.query.id;
    const sqlStr = "select * from area " + (id ? "where id = ?" : "");

    conn.query(sqlStr, id, (err, result) => {
        if (err) return result.json({code: 404, data: "获取失败"});
        res.json({
            code: 0, data: result
        });
    });
});

config/mysql.json(数据库配置,支持mysql5.7+)

{
  "host": "localhost",
  "port": "3306",
  "user": "root",
  "password": "root",
  "database": "ycapi"
}

 按照上面的方式创建好项目后,记得在根目录运行:

cnpm i express & cnpm i mysql & node main

启动项目后这样访问:

http://127.0.0.1:9999/user/select

http://127.0.0.1:9999/area/select

就可以查询到数据返回的json结果了,同时也可以用POST或者GET方式传参id

________________________

您还可能对如何用Vue.js框架访问Nodejs后端接口API感兴趣,传送门↓

《Vue.js框架简单读取数据库信息并渲染完成文章列表详情页功能(小试牛刀)》


本文链接: http://www.dtmao.cc/news_show_300244.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?