8

これは Asp.Net Webform アプリケーションです
これは私の Apicontroller の POST メソッドです

public void Post([FromBody]string value)
{
}

私はフィドラーのポストプロセスを使用しています。
そんな実験をしました。
しかし、そうではありませんでした。

何が問題ですか。
手伝ってくれますか?

私はそれを試みました、私は失敗しました。

public void Post(MyViewModel model)
{
   string aa = model.Value;
}

public class MyViewModel
{
   public string Value { get; set; }
}

フィドラーで:

Request Body:   
Value=hakan
4

4 に答える 4

20

Fiddler の POST 本文のペイロードは次のようになります。

=foo_bar

それ以外の:

value=foo_bar

これは、Web API のモデル バインディングに関する奇妙な点の 1 つにすぎません。POST 本文のペイロードでサポートしたい場合value=foo_barは、いつでもビュー モデルを記述できます。

public class MyViewModel
{
    public string Value { get; set; }
}

次に、メソッドにこのビューモデルをパラメーターとして使用させます。

public void Post(MyViewModel model)
{
    ... work with model.Value here as usual
}
于 2013-05-30T13:48:44.207 に答える
10

私はこの問題を解決しました。解決策は次のとおりです。
リクエスト本文の形式 = foo_bar に合わせるには、リクエストのハダー
も必要です。

Content-Type: application/x-www-form-urlencoded
于 2013-08-29T09:49:45.043 に答える