我需要测试我的REST API后端,该后端接受使用Advanced REST Client或Postman for Chrome的JSON。
但是我遇到了问题:我只能使用内置表单发送请求并使用Content-Type:application / x-www-form-urlencoded
但是由于我有嵌入式文档,所以这不起作用,例如,我需要POST这个:
{title:"Awesome post!", tags: ["blue", "jeans"] }
Chrome扩展程序的内置格式无法实现这一点。
当我选择Raw Body并在那里插入内容时,我的后端将req.body看作是一个空对象。当我还设置标题“Content-Type:application / json”时,我的后端出现以下错误:
SyntaxError: Unexpected token n
at Object.parse (native)
at IncomingMessage.exports.parse.application/json (/Library/WebServer/Documents/slipfeed/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:135:16)
at IncomingMessage.EventEmitter.emit (events.js:85:17)
at IncomingMessage._emitEnd (http.js:366:10)
at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
at Socket.socket.ondata (http.js:1682:22)
at TCP.onread (net.js:404:27)
注意:我在我的应用程序配置中使用了bodyParser()和methodOverride()。禁用它们没有帮助。
我应该使用哪些设置,以便我可以将JSON输入到Raw body字段,并且请求可以正常工作?
澄清答案:我必须设置Content-Type:application / json(在请求标头中)并使用格式良好的json,其中属性名称也在双引号内以使其正常工作。