使用http模块创建一个http服务器并完成get和post请求的书写。
-
首先我们先用一段代码创建一个最基本的服务器
const http = require("http") const server = http.createServer((req, res)=> { res.setHeader("Content-Type", "text/html;charset=utf-8") res.end("这是:123") }) server.listen(5000, ()=> { console.log("服务器创建成功") })
效果图如下:
-
接着书写get请求
const http = require("http") var arr = [ { name: '小王', score: 100 } ] const server = http.createServer((req, res)=> { // 设置cors 允许客户端进行跨域 res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"); res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.setHeader("X-Powered-By",' 3.2.1') if(req.url === "/api/getStudent" && req.method === "GET") { res.end(JSON.stringify(arr)) // } }) server.listen(5000, ()=> { console.log("监听成功") })
我们使用postman工具来进行模拟请求。
如下图所示:
请求成功,我们也得到了后台的arr数据。
-
接着完成post接口
const http = require("http") const qs = require("querystring") var arr = [ { name: '小王', score: 100 } ] const server = http.createServer((req, res) => { // 设置cors 允许客户端进行跨域 res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"); res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); res.setHeader("X-Powered-By", ' 3.2.1') if (req.url === "/api/getStudent" && req.method === "GET") { res.end(JSON.stringify(arr)) // } else if (req.url === "/api/addStudent" && req.method === "POST") { // 需要先拿到post请求的数据 var post = "" req.on("data", (chunk) => { post += chunk }) req.on('end', () => { const obj = qs.parse(post) arr.push({ name: obj.name, score: obj.score }) res.end("添加成功") }) } }) server.listen(5000, () => { console.log("监听成功") })
我们照着下图去操作postman,一定要按照下图的指引,完成后我们点击send发送请求。
请求成功,并且下方会显示“添加成功”,如图所示:
最后我们再去执行一次get操作会得到更改后的数据,如下图所示: