JSON POST データをオブジェクトとして Web API メソッドに適切に渡すにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-08 07:49:01
オリジナル
742 人が閲覧しました

How to Properly Pass JSON POST Data to a Web API Method as an Object?

JSON POST データをオブジェクトとして Web API メソッドに渡す方法

ASP.NET MVC4 Web API アプリケーションは、次のような便利な方法を提供します。顧客データを保存する POST メソッドを定義します。ただし、顧客データが POST リクエスト本文内で JSON 形式で渡される場合、POST メソッドの顧客パラメータにそのプロパティの null 値が含まれる可能性があります。

問題の解決: コンテンツ タイプ "application/" の使用json"

この問題を解決するには、次の Content-Type を使用することが重要です。 header:

Content-Type: application/json
ログイン後にコピー

リクエストの変更:

リクエストを送信するときは、次の変更が必要です:

// Convert the customer object to a JSON string
var customerJSON = JSON.stringify(customer);

// Set the Content-Type header
var xhr = new XMLHttpRequest();
xhr.open("POST", "api/customers");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(customerJSON);
ログイン後にコピー

このシナリオでは、モデル バインダーは、JSON データをクラス オブジェクトに適切にバインドします。

追加考慮事項:

  • Web API メソッドのパラメーターが [FromBody] 属性で修飾されていることを確認します。
public object Post([FromBody] Customer customer)
ログイン後にコピー
  • 次のような複雑なオブジェクトを送信する場合ネストされたプロパティを持つビュー モデルとして、メソッド パラメーターを [FromBody] で装飾し、Content-Type ヘッダーを次のように指定します。 "application/json."
  • 上記の手順が失敗した場合は、モデルのプロパティがパブリックであり、パラメーターのないコンストラクターがあることを確認してください。また、プロパティ名が JSON プロパティ名と一致していることを確認してください。

以上がJSON POST データをオブジェクトとして Web API メソッドに適切に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート