接口(软件类接口)是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。
node写接口用Express框架。Express是一个保持最小规模的灵活的 Node.js Web应用程序开发框架,为Web和移动应用程序提供一组强大的功能。node可以使用express框架中的app.get与app.post等方法连接对象进行操作。
下面我们来简单看看nodejs写接口的步骤。
所需配置
使用express框架,配合moment(时间格式化)中间件+cors中间件(跨域用)+body-parser(解析表单)+mysql中间件
直接上代码:const express = require('express');
const app = express();
const moment = require('moment')
//导入cors模块,该模块为跨域所用
const cors = require('cors');
app.use(cors());
//解析表单的插件
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }))
//创建数据库连接对象
const mysql = require('mysql');
const conn = mysql.createConnection({
host: '127.0.0.1',//数据库地址
user: 'root',//账号
password: 'root',//密码
database: 'mydb_12_9',//库名
multipleStatements: true //允许执行多条语句
})
下面是get表中所有数据app.get('/api/getlist', (req, res) => {
const sqlStr = 'select * from zdcx '
conn.query(sqlStr, (err, results) => {
if (err) return res.json({ err_code: 1, message: '资料不存在', affextedRows: 0 })
res.json({ err_code: 200, message: results, affextedRows: results.affextedRows })
})
})
按条件查询:app.get('/api/getlistdetl', (req, res) => {
const number = req.query.number
const sqlStr = 'select * from zdcx where number=?'
conn.query(sqlStr, number, (err, results) => {
if (err) return res.json({ err_code: 1, message: '资料不存在', affextedRows: 0 })
res.json({ err_code: 200, message: results, affextedRows: results.affextedRows })
})
})
添加数据://添加
app.post('/api/addcard', (req, res) => {
const user = req.body
user.ctime = moment().format('YYYY-MM-DD HH:mm:ss')//格式化日期
const sqlStr = 'insert into bank set ?'
conn.query(sqlStr, user, (err, results) => {
if (err) return res.json({ err_code: 1, message: err, affectedRows: 0 })
res.json({ err_code: 0, message: '恭喜成功', affectedRows: results.affectedRows })
})
})
端口监听:app.listen(3000, () => {
console.log('正在监听端口3000,http://192.168.1.114:3000');
//192.168.1.114换成你的ip,本机ip查询用cmd=>ipconfig
})
运行就直接node 你的文件名 就行了
记得安装依赖!!!!!!
记得安装依赖!!!!!!
记得安装依赖!!!!!!建议配合phpstudy使用