2017-01-19 2 views
3

私のプロジェクトに「hackathon-starter」ノードバンチを使用しています。 。私はすべてのAPIのための「コンテンツタイプ'application/x-www-form-urlencoded;charset=utf-8'ヘッダーを取ることrequest.postからAPIを呼び出そうと、このビルドでは、私が呼び出すAPIからヘッダーを変更しようとしたが、それは唯一のrequest.postのコンテンツタイプヘッダーをjsonに設定します。

コンテンツタイプになります。 'アプリケーション/ x-www-form-urlencodedで;すべてのAPIのためのcharset = UTF-8'

ヘッダIはコードの下にしようとしている私はすべてのAPIのアプリケーション/ JSONを設定する

var querystring = require('querystring'); 
     var request  = require('request'); 

     var form = { 
     "userType": req.body.type, 
     "userName": req.body.mobile, 
     "email": req.body.email, 
     "name": req.body.name,  
     "password": req.body.password 
     }; 

     var formData = querystring.stringify(form); 
     var contentLength = formData.length; 
     request.post({ 
      headers: {'content-type':'application/json'}, 
      url:'mylink', 
      form: formData // I have tried form as well. 
     },function(error, response, body){ 
     console.log(body) 
    }); 

マイマイコンソールのメッセージ。オプションdocumentaionから

var form = { 
    "userType": req.body.type, 
    "userName": req.body.mobile, 
    "email": req.body.email, 
    "name": req.body.name,  
    "password": req.body.password 
    }; 

    request.post({ 
     url:'mylink', 
     json: form, 
    },function(error, response, body){ 
    console.log(body) 
}); 

{"timestamp":1484822264270,"status":415,"error":"Unsupported Media Type","exception":"org.springframework.web.HttpMediaTypeNotSupportedException","message":"Content type 'application/x-www-form-urlencoded;charset=utf-8' not supported","path":"mylink"} 

答えて

5

は、私はあなたの代わりにあなたの要件に基づいてjsonオプションを使用する必要があると思います

JSON - 値のJSON表現に体を設定し、 Content-type:application/jsonヘッダーを追加します。さらに、 レスポンスボディをJSONとして解析します。

+0

私はあなたの助けを借りて何度も多くの感謝をします(* 10K)。 –

+0

とても素敵で、すぐに私の問題を解決しました。 –

関連する問題