我有一个包含以下位的API。它应该接收Person
对象。
[HttpPost]
public IActionResult Post(Person person)
{
...
}
我也有此API的消费者:
IRestClient restClient = new JsonServiceClient("http://localhost:12345")
{
Credentials = CredentialCache.DefaultCredentials
};
var person= new Person
{
Name = "B1"
};
restClient.Post<HttpWebResponse>("my-route", person);
当我发布person
时,我可以追踪到客户端的最后一行,看起来一切都井然有序。
我在API中成功捕获了请求 - 但Name
的{{1}}现在是person
,以及他可能拥有的任何其他属性。
我在这里做错了什么?我在哪里可以找到提示?
答案 0 :(得分:2)
尝试使用[FromBody]
参数绑定属性
[HttpPost]
public IActionResult Post([FromBody]Person person) {
//...
}
还要确保模型的公开属性是公共属性而不是字段。
public class Person {
public string Name { get; set; }
//...other public properties
}