我不知道这是否是 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 限制,是它的错误,还是我做错了什么?