今天在使用Postman测试API的时候,学习到了POST方式提交数据的4种方式。
form-data
默认的提交数据方式,常见如网页上提交的form表单。在Postman中可以添加多个key,后台接受到的是一字符串,形如:key1=val1&key2=val2
。注意,key对应的可以是一个文件。在Express中,需要使用connect-multiparty
来解析:
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
app.use(multipartMiddleware);
//在router中
router.post('/', function(req,res, next) {
console.log(JSON.stringify(req.body));
//
});
x-www-form-urlencoded
和form-data类似,但是不能传文件。Express模板中默认添加了处理该类数据的提交:
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
raw
可以提交任何数据。在Postman中的文本框中,可以输入任意格式的字符串,对于App使用的API通常选择application/json
。在Express中也是使用body-parser
来解析:
app.use(bodyParser.json());
binary
只用于传输文件。
Comments