0

これが ASP.NET の制限に関するバグかどうかはわかりません。Infoという名前のクラスがあるとしましょう。

public class Info
{
    public int Id { get; set; }

    public string Data { get; set; }

    public Info(int id)
    {
        this.Id = id;
    }
}

これがコントローラーのメソッドです。

[HttpPost]
[ActionName("Post")]
public HttpResponseMessage Post([FromBody]Info info)

jsonをウェブサイトに投稿するとうまくいきます。

POST /test/post HTTP/1.1
Host: localhost:60002
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache

{ "Id": "1", "Data": "Test" }

問題は、文字列パラメーター コンストラクターを に追加すると動作しなくなることInfoです。

public class Info
{
    public int Id { get; set; }

    public string Data { get; set; }

    public Info(int id)
    {
        this.Id = id;
    }

    // this messes things up
    public Info(string data)
    {
        // to do 
    }
}

私の質問は、ASP.NET の制限ですか、バグですか、それとも何か間違ったことをしているのですか?

4

0 に答える 0