前提・実現したいこと
API間でのPOSTでheadersで'Content-Type': 'application/json'を指定し、JSON形式でデータのやり取り
発生している問題・エラーメッセージ
sh
1error { Error: Request failed with status code 415} 2 略 3response: 4 { status: 415, 5 statusText: 'Unsupported Media Type', 6 headers: 7 { date: 'Wed, 20 Feb 2019 02:52:25 GMT', 8 'content-type': 'text/html;charset=ISO-8859-1' 9 略 10 }
該当のソースコード
js
1var express = require('express'); 2var router = express.Router(); 3const axios = require('axios'); 4 5router.post('/', (req, res) => { 6 console.log(req.headers); 7 const authorization = req.headers.authorization; 8 const headers = { 9 'Content-Type': 'application/json', //指定しても反映されない 10 'Authorization' : authorization 11 } 12 13 axios({ 14 method: 'post', 15 url: 'post先のAPI', 16 headers: headers, 17 data: { 'startPosition' : '1', 'limitRecord' : '-1' } 18 }).then(resonse => { 19 console.log(resonse.userList); 20 res.json(resonse.userList); 21 }).catch(err => { 22 console.log('error', err); 23 return res 24 }); 25}) 26 27module.exports = router; 28
試したこと
headersに'Content-Type': 'application/json'を追加してみたり、違う形式でも試しました。
補足情報(FW/ツールのバージョンなど)
以下のcurlコマンドではJSON型でデータ取得ができました。
sh
1curl -X POST -H "Content-Type: application/json" -H "認証情報" -d '{"startPosition":"1","limitRecord":"-1"}' post先のAPI
あなたの回答
tips
プレビュー