https://developer.sabre.com/docs/rest_apis/ground/content_services_rail/search_single_trip/reference-documentation
在POST请求中需要“questBody”和“earch Criteria”。
如果我没有指定“questBody”,我就会收到“no访问特权”错误。
但是当我将“questBody”添加到参数时,我得到[AxiosError:请求失败,状态代码为400]{代码:‘ERR_BAD_REQUEST’,...
我还是不明白。我应该如何将“questBody”和“earch Criteria”合并到代码和请求中?在JSON示例中,他们甚至将其放在“payload”中,当我将“earch Criteria”放在“payload”中而不是params.questBody时,我收到了“没有特权”的错误。
不管我把“questBody”和“earch Criteria”放在哪里,似乎都得不到一个成功的响应。
const optionsToUse = {
method: 'POST',
url: "https://api-crt.cert.havail.sabre.com/v1/rail/offers/journeys/1S",
params: {
marketingCarrierCode: "1S",
requestBody : {
"searchCriteria" : [ {
"journeyCriteria" : {
"departure" : {
"locationId" : "FRPLY",
"dateTime" : "2022-08-02T07:07"
},
"arrival" : {
"locationId" : "FRLPD"
}
},
"passengerCriteria" : [ {
"passengerCode" : "ADULT"
} ]
} ]
}
},
headers: {
Authorization: "Bearer " + access_token
}
}
axios.request(optionsToUse).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
1条答案
按热度按时间fafcakar1#
怀伦,
您需要传递正文中的数据,而不是参数,并删除参数属性,因为market ingCarrierCode是url中的一个参数,而不是查询参数:
(请求配置https://axios-http.com/docs/req_config的Axios文档)