使用 hapi 编码的 API
working with API coded in hapi
我正在使用未记录的 RESTful api。然而,它背后的代码是开源的。好像是hapi和Bookshelfjs结合写的。我正在尝试弄清楚如何向其中一条路线发送 POST 请求,但它不起作用。以下是路线的代码:
{
method: 'POST',
path: '/api/survey_answer',
handler: (request, reply) => {
if (request.payload.responses) {
Promise.all(
request.payload.responses.map(function(answer) {
var surveyAnswer = new SurveyAnswer()
var newAnswer = surveyAnswer
.save({
survey_response_id: answer.surveyResponseId,
question_id: answer.questionId,
answer_id: answer.answerId,
intensity: answer.intensity
})
.catch(function(err) {
console.error(err)
})
return newAnswer
})
).then(function (newSurveyAnswers) {
reply(newSurveyAnswers)
})
}
}
},
这是我的 POST 请求:
POST /api/survey_answer HTTP/1.1
Host: 192.168.145.129:3000
Content-Type: application/json
Cache-Control: no-cache
[{"surveyResponseId":1,"questionId":1,"answerId":1,"intensity":3}]
我做错了什么?
看起来端点需要一个与有效负载对象中的键 responses
关联的数组(提示:if (request.payload.responses)
)。
尝试将您的 POST 负载更改为:
{"responses": [{"surveyResponseId": 1,"questionId": 1,"answerId": 1,"intensity": 3}]}
我正在使用未记录的 RESTful api。然而,它背后的代码是开源的。好像是hapi和Bookshelfjs结合写的。我正在尝试弄清楚如何向其中一条路线发送 POST 请求,但它不起作用。以下是路线的代码:
{
method: 'POST',
path: '/api/survey_answer',
handler: (request, reply) => {
if (request.payload.responses) {
Promise.all(
request.payload.responses.map(function(answer) {
var surveyAnswer = new SurveyAnswer()
var newAnswer = surveyAnswer
.save({
survey_response_id: answer.surveyResponseId,
question_id: answer.questionId,
answer_id: answer.answerId,
intensity: answer.intensity
})
.catch(function(err) {
console.error(err)
})
return newAnswer
})
).then(function (newSurveyAnswers) {
reply(newSurveyAnswers)
})
}
}
},
这是我的 POST 请求:
POST /api/survey_answer HTTP/1.1
Host: 192.168.145.129:3000
Content-Type: application/json
Cache-Control: no-cache
[{"surveyResponseId":1,"questionId":1,"answerId":1,"intensity":3}]
我做错了什么?
看起来端点需要一个与有效负载对象中的键 responses
关联的数组(提示:if (request.payload.responses)
)。
尝试将您的 POST 负载更改为:
{"responses": [{"surveyResponseId": 1,"questionId": 1,"answerId": 1,"intensity": 3}]}