Advanced REST Client または Postman for Chrome を使用して、JSON を受け入れる REST API バックエンドをテストする必要があります。
しかし、問題が発生しています。組み込みフォームを使用し、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() を使用しています。それらを無効にしても役に立ちませんでした。
Raw body フィールドに JSON を入力するだけでリクエストが機能するようにするには、どの設定を使用すればよいですか?
答えを明確にするために: Content-Type: application/json (リクエスト ヘッダー内) の両方を設定し、プロパティ名も二重引用符で囲んだ整形式の json を使用して動作させる必要がありました。