我有一篇关于api的帖子有效......只要有一些数据发布。 我正在寻找一种获取空数据的方法。
为什么我问是因为我事先不知道参数是什么。 api从客户设置的网络调查中获取数据......而不告诉我这些字段是什么。但我知道所有参数都是在HTTP Post调用中发送的。
这是Charles Proxy
捕获的表单数据 _USERNAME
_PASSWORD
_TOKEN
_RECALLCODE AAA
_SUBMITTEDDATE 2015.04.21.02.13
_EDITEDDATE 2015.04.21.02.13
_COMPLETETYPE Complete
_LANGUAGE en
_TOTALTIME 311.18
_SURVEYLINKURL http://survey.com/AAA
_RESPONDENTCODE
_RESPONDENTTITLE
_RESPONDENTFIRSTNAME
_RESPONDENTLASTNAME
_RESPONDENTSMSID
_RESPONDENTPHONE1
_RESPONDENTPHONE2
_RESPONDENTEMAILADDRESS
QUESTION1 TEXT:No
QUESTION2 TEXT:None+of+the+above
QUESTION3 TEXT:Nothing
这是我得到的结果
{
"params": {
"_RECALLCODE": "AAA",
"_SUBMITTEDDATE": "2015.04.21.02.13",
"_EDITEDDATE": "2015.04.21.02.13",
"_COMPLETETYPE": "Complete",
"_LANGUAGE": "en",
"_TOTALTIME": "311.18",
"_SURVEYLINKURL": "http://survey.com/AAA",
"QUESTION1": "TEXT:No",
"QUESTION2": "TEXT:None+of+the+above",
"QUESTION3": "TEXT:Nothing",
}
}
这是我期待的结果。
{
"params": {
"_USERNAME": null ,
"_PASSWORD": null ,
"_TOKEN": null ,
"_RECALLCODE": "AAA",
"_SUBMITTEDDATE": "2015.04.21.02.13",
"_EDITEDDATE": "2015.04.21.02.13",
"_COMPLETETYPE": "Complete",
"_LANGUAGE": "en",
"_TOTALTIME": "311.18",
"_SURVEYLINKURL": "http://survey.com/AAA",
"_RESPONDENTCODE": null ,
"_RESPONDENTTITLE": null ,
"_RESPONDENTFIRSTNAME": null ,
"_RESPONDENTLASTNAME": null ,
"_RESPONDENTSMSID": null ,
"_RESPONDENTPHONE1": null ,
"_RESPONDENTPHONE2": null ,
"_RESPONDENTEMAILADDRESS": null ,
"QUESTION1": "TEXT:No",
"QUESTION2": "TEXT:None+of+the+above",
"QUESTION3": "TEXT:Nothing",
}
}
这是检查sailjs中的参数的代码。
insertResponseByClientCodeAndSurveyCode: function(req,res){
var responseCode = 200 ;
var params = req.params.all() ;
var result = {} ;
result.params = params ;
return res.json( responseCode, result ) ;
} ,
如何更改以获取空数据?
答案 0 :(得分:1)
根据我的经验,最简单的方法是手动设置。
var params = {
_USERNAME : req.param('_USERNAME', null),
_PASSWORD : req.param('_PASSWORD', null),
...
QUESTION3 : req.param('QUESTION3', null)
}
在解析器链的某处,空字段被删除。我不知道这是来自身体解析器还是JSON或者是什么。