Express 是一个基于的 node.js 的Web应用框架。所以使用epress框架,需先安装nodejs。(自行百度搜索安装node.js)
一:搭建
1.安装且引入模块
新建一个文件夹,cmd进入,初始化npm
npm init -y
npm install express --save
var express = require("express"); //加载包
var bodyParse = require("body-parser"); //处理参数
2.创建服务
var app = express();
3.创建服务
var app = express();
4.跨域处理
var allowCrossDomain = function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*"); //允许的请求源 从哪来
res.header("Access-Control-Allow-Headers", "*"); //允许的请求头
res.header("Access-Control-Allow-Methods", "*"); //允许的请求方法 "GET, POST, DELETE, PUT, OPTIONS"
next(); //下一步
}
//调用
app.use(allowCrossDomain);
5.添加参数处理
app.use(bodyParse.json()) //处理json数据
app.use(bodyParse.urlencoded({
extended: true
})) //处理表单数据 url
6.监听端口
//监听3000端口
app.listen(3000, function() {
console.log("服务已启动,端口3000"); //服务启动完成的日志
})
7.在项目文件夹运行后便可以访问
node xxx(xxx为文件名)
二:示例
1.get接口
//第一个种
app.get("/", function(request, response) { //get请求 地址:http://localhost:3000/
response.send("my web server."); //发送信息
})
//第二种 ?形式
app.get("/info", function(req, res) {
//拿到?后面的参数 req.query.name
console.log(req.query.name)
var data = {
code: "200",
msg: "success",
result: "xxxxxxxx"
}
res.send(JSON.stringify(data))
})
//第三种 格式 :参数名
app.get("/info/:name", function(req, res) {
//:参数名 req.params.name
console.log(req.params.name)
var data = {
code: "200",
msg: "success",
result: "xxxxxxxx"
}
res.send(JSON.stringify(data))
})
2.post接口
app.post("/info4", function(req, res) {
//json 使用 req.body 接收
console.log(req.body)
var data = {
code: "200",
msg: "success",
result: "xxxxxxxx"
}
res.send(JSON.stringify(data))
})
3.put接口
app.put("/info5", function(req, res) {
//json 使用 req.body 接收
console.log(req.body)
var data = {
code: "200",
msg: "success",
result: "xxxxxxxx"
}
res.send(JSON.stringify(data))
})
4.delete接口
app.delete("/info6", function(req, res) {
//json 使用 req.body 接收
console.log(req.body)
var data = {
code: "200",
msg: "success",
result: "xxxxxxxx"
}
res.send(JSON.stringify(data))
})
三:业务示例
var arr = []; ///空数组
//数据添加 作用:把数据保存到数组 且返回更新后的数组
app.post("/data/add", function(req, res) { //req-给express发请求 res-给浏览器发响应
console.log(req.body) //从浏览器发过来的参数
arr.push(req.body); //保存到数组
//将数组返回 stringify---将json数组转成字符串
res.send(JSON.stringify(arr)); //发送数据到浏览器
})
//数据查询 作用: 返回数组的所有数据
app.get("/data/query", function(req, res) { //req-给express发请求 res-给浏览器发响应
//将数组返回 stringify---将json数组转成字符串
res.send(JSON.stringify(arr)); //发送数据到浏览器
})
//数据删除 作用: 返回数组未删除的所有数据
//参数:{id: 1}
app.delete("/data/del", function(req, res) { //req-给express发请求 res-给浏览器发响应
console.log(req.body)
arr = arr.filter(function(o) {
return o.id != req.body.id; //根据id过滤需要删除的数据
})
//将数组返回 stringify---将json数组转成字符串
res.send(JSON.stringify(arr)); //发送数据到浏览器
})
网友评论