最近研究了一下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使用
链接: https://pan.baidu.com/s/1ykLIWKWSmf3M9ZCk2sMzUg 密码: wjzi