1.postman
Postman是chrome 的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便,官网有中文版。
2.express-get请求-带参数
const express = require('express');
const app = express();
app.get('/get', function(req, res) {
// 直接返回对象
console.log(req.query);
// res.json()返回json数据(自动处理)并结束响应
res.send({ name: 'abc' });
});
app.listen('8088', () => {
console.log('8088');
});
express框架会自动将url地址中的查询字符串解析成对象,添加在req对象的query属性中
在用express写接口中过程 参数可通过req.query直接获取,通过postman中传入参数,服务器并返回其获得的数据
3.express-post请求-带参数-普通键值对/复杂json格式数据/formData涉及文件上传
const express = require('express')
const multer = require('multer')
const app = express()
// 1. 使用中间件,会自动加入req.body属性,这个属性中就包含了post请求所传入的参数
app.use(express.urlencoded());
// 普通键值对参数
app.post("/post",function(req,res){
//2. 可以通过req.body来获取post传递的键值对
res.json('add')
})
//请求体中的携带的复杂json格式数据解析出来,保存在req.body中
app.use(express.json());
app.post('/postJson', (req, res) => {
// 后端收到post传参
console.log(req.body);
res.json('postJson')
})
//post接口-form-data文件上传
//配置multer dest文件保存文件夹,如果没有自动创建
const upload = multer({ dest: 'uploads/' })
// upload.single表示单文件上传,
// 'cover' 表示要上传的文件在本次上次数据中的键名。对应于前端页面上的:
app.post('/postFile',upload.single('cover'), (req, res) => {
// req.file 记录了文件上传的信息
// req.body 记录了其它普通参数(非文件)的信息
console.log(req.file)
console.log(req.body)
res.send('postFile')
})
app.listen(8088, () => {
console.log('----服务器开启-----');
})
通过post传递参数,服务器获取参数,如下图所示:
只需要更改提交的查询字符串,以及提交数据的格式,服务器就能收到传入数据
注意: cover与中的upload.single('cover')一致
注意输入格式
4.理解接口传参
-
请求行: 保存了请求方式,地址,可以以查询字符串的格式附加小部分数据。
-
请求头:它可以附加很多信息,其中content-type用来约定请求体中保存的数据格式。
-
请求体: 本次请求携带的参数。至于这些参数到了后端应该如何解析出来,由请求头中的content-type来决定。