私はangularjsを使用しています。私はWeb APIにHttpPostを呼び出そうとしています。web api 2パラメータ付きの投稿 - json.stringyfiを使用する必要があります
私のAPIメソッド:
[HttpPost]
[Route("authentication/getkey")]
public IHttpActionResult GetKey([FromBody]string password) {
//Do stuff
}
私のコール:
service.getKey = function (password) {
return $http.post('api/authentication/getkey', JSON.stringify(password))
.then(function(result) {
return result.data;
});
}
は今、これは正常に動作しますが、私は本当にJSON.stringify
を使用する必要がありますか?私は以下のように送信しようとしましたが、それらのすべてがpassword = nullを取得します。 JSON.stringify
を使用する必要がありますか、他の例で間違っていますか?マイクロソフトのWeb API公式ドキュメントから
//Doesnt work
service.getKey = function (password) {
return $http.post('api/authentication/getkey', password)
.then(function(result) {
return result.data;
});
}
//Doesnt work
service.getKey = function (password) {
return $http.post('api/authentication/getkey', {password})
.then(function(result) {
return result.data;
});
}
デフォルトでは、$ HTTPサービスがContent-Typeをapplication/jsonとして送信するため、POSTリクエスト内のデータをJSON形式で送信する必要があります。 JSON.stringifyは、データをJSON(JavaScript Object Notation)文字列に変換します。 JSON.stringifyを使用したくない理由はありますか? 1つの方法は、Content-Typeを変更することです。必要に応じてサンプルコードを提供することができます。 –
@ VivekNしてください。私はちょうどそれをする方法の他の例を見たいと思うか、または私はそれをやるべきか – MrProgram