[英]REST'put','post' 400 bad request. Javascript,HTML,Java
[英]Bad request. HTTP POST to api
我正在尝试从api返回一些数据,但是当我点击服务器时,我收到了错误的请求消息。 我认为问题出在我的JSON Stringify上,我是否已正确使用此函数来连接我的请求正文?
输出:
{ request:
{ passengers: { kind: 'qpxexpress#passengerCounts', adultCount: 1 },
slice: [ [Object] ],
saleCountry: 'GB',
ticketingCountry: 'GB',
solutions: 10 } }
Upload successful! Server responded with: {
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Invalid inputs: received empty request."
}
],
"code": 400,
"message": "Invalid inputs: received empty request."
}
}
码:
var express = require('express')
var router = express.Router()
var request = require('request')
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' })
})
let flightRequest = {
"request": {
"passengers": {
"kind": "qpxexpress#passengerCounts",
"adultCount": 1
},
"slice": [{
"kind": "qpxexpress#sliceInput",
"origin": "LHR",
"destination": "OSL",
"date": "2016-12-03",
"permittedDepartureTime": {
"kind": "qpxexpress#timeOfDayRange",
"earliestTime": "06:00",
"latestTime": "11:00"
}}],
"saleCountry": "GB",
"ticketingCountry": "GB",
"solutions": 10
}
}
console.log(JSON.stringify("hello" + flightRequest))
JSON.stringify(flightRequest)
console.log(flightRequest)
request.post({url:'https://www.googleapis.com/qpxExpress/v1/trips/search?key=XXXXXXXXXXXXXXXXXXXXXXXX', flightRequest: flightRequest}, function optionalCallback(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log('Upload successful! Server responded with:', body);
});
module.exports = router
我认为您需要按以下方式发布请求
request({
url: 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=XXXXXXXXXXXXXXXXXXXXXXXX',
method: "POST",
json: JSON.stringify(flightRequest)
}, function optionalCallback(err, httpResponse, body) { ...
或者可能是
request.post({
url: 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=XXXXXXXXXXXXXXXXXXXXXXXX',
json: JSON.stringify(flightRequest)
}, ...
我是否已正确使用此函数来连接我的请求正文?
本守则
\n 让flightRequest = \n {\n “请求”:{\n “乘客”:{\n “ kind”:“ qpxexpress#passengerCounts”,\n “ adultCount”:1\n },\n “切片”:[\n {\n “ kind”:“ qpxexpress#sliceInput”,\n “ origin”:“ LHR”,\n “目的地”:“ OSL”,\n “ date”:“ 2016-12-03”,\n “ permittedDepartureTime”:{\n “ kind”:“ qpxexpress#timeOfDayRange”,\n “最早时间”:“ 06:00”,\n “ latestTime”:“ 11:00”\n }\n }\n ],\n “ saleCountry”:“ GB”,\n “ ticketingCountry”:“ GB”,\n “解决方案”:10\n }\n }\n let flightAppend = {“附加文字”:“你好”}\n var obj = Object.assign(flightAppend,flightRequest)\n console.log(JSON.stringify(obj))
产生此输出
\n {\n “ append text”:“ hello” ,\n “请求”:{\n “乘客”:{\n “ kind”:“ qpxexpress#passengerCounts”,\n “ adultCount”:1\n },\n “切片”:[\n {\n “ kind”:“ qpxexpress#sliceInput”,\n “ origin”:“ LHR”,\n “目的地”:“ OSL”,\n “ date”:“ 2016-12-03”,\n “ permittedDepartureTime”:{\n “ kind”:“ qpxexpress#timeOfDayRange”,\n “最早时间”:“ 06:00”,\n “ latestTime”:“ 11:00”\n }\n }\n ],\n “ saleCountry”:“ GB”,\n “ ticketingCountry”:“ GB”,\n “解决方案”:10\n }\n }
我不知道这是您要查找的内容,还是在API的哪一边,但是输出是有效的JSON
与产生“ hello [object Object]”的原始代码相反
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.