想问下PostMan里面,我POST数据的时候,使用form-data方式和直接使用raw方式有什么区别。
现在后台提供一个restAPI,现在发现使用raw方式传递json格式的数据是可以成功的, 但是转换层form方式就失败了
两种方式都添加了header : Content-Type: application/json
raw方式使用的是纯字符串的数据上传方式,所以在POST之前,可能需要手工的把一些JSON格式的数据转换成字符串的(加两单引号)
Form-data的方式就是key-value的提交,数据其实是分割的
贴上一段使用Needle POST的代码:
needle = require(‘needle’); LOGIN_URL = ‘xxxxx’; var data = ‘{“username”: “username”,“password”: “password”}’; var options = {headers: { ‘Content-Type’: ‘application/json’ }}; needle.post(LOGIN_URL, data, options, function(err, resp) { console.log(resp); });
还是没太明白,求解
其实bodyparser是可以处理的,注意
// for raw data
app.use(bodyParser.text({ type: 'text/*' }))
这样就可以通过req.text到内容了
Form-data 是键值对, 你只能通过postman提供的表单填写,
如果你的数据的某个键里面还有嵌套的对象,例如嵌套的好几层对象 那么就没有办法使用form-data 提交了, 只能使用raw 自己填写json字符串, 明白了吗?