2

WebApiを使用するMVC4アプリケーションがあります。外部クライアントがそれにPOSTしているので、そのデータを収集する必要があります。モデルバインディングを動作させることができます

public void Post([FromBody] Alert alert) { ... }

ここで、Alertは複合型を定義するクラスです。ただ、構造がわからなくても、体の中にあるものは何でも読みたいという場合があります。では、着信POSTリクエストの生のヘッダーと本文を読み取るにはどうすればよいですか。私はこれで試しました:

public void Post(HttpContent content) { ... }

ただし、サービスにPOSTを実行すると、Postメソッドはまったく呼び出されません。

入力?

ありがとう

4

1 に答える 1

2

HttpContent の代わりに HttpRequestMessage をバインドしてみてください。これは機能し、リクエスト ヘッダーと本文にアクセスできるようになります。

public void Post(HttpRequestMessage request) { ... }

正しく設定する必要があるコントローラーの Request プロパティにアクセスすることもできます。

public void Post() { var content = Request.Content; }
于 2013-02-14T15:41:34.770 に答える