servicestack,C#,Rest,Asp.net Core,servicestack" /> servicestack,C#,Rest,Asp.net Core,servicestack" />

C# 如何使用ServiceStack for C正确创建POST请求#

C# 如何使用ServiceStack for C正确创建POST请求#,c#,rest,asp.net-core,servicestack,C#,Rest,Asp.net Core,servicestack,我有一个API,其中包含以下内容。它应该接收一个Person对象 [HttpPost] public IActionResult Post(Person person) { ... } 我还有一个API的消费者: IRestClient restClient = new JsonServiceClient("http://localhost:12345") { Credentials = CredentialCache.DefaultCredentials }; var pe

我有一个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);
IRestClient restClient=newjsonserviceclient(“http://localhost:12345")
{
凭据=CredentialCache.DefaultCredentials
};
var person=新的人
{
Name=“B1”
};
restClient.Post(“我的路线”,person);
当我发布
个人
时,我可以跟踪到最后一行,即客户端,一切似乎都正常

我在API中成功捕获了请求-但是
人员的
名称
现在是
null
,以及他可能拥有的任何其他属性


我在这里做错了什么?哪里可以找到提示?

尝试使用
[FromBody]
参数绑定属性

[HttpPost]
public IActionResult Post([FromBody]Person person) {
    //...
}
还要确保模型的公开成员是公共属性,而不是字段

public class Person {
    public string Name { get; set; }
    //...other public properties
}

尝试当场使用
[FromBody]
参数绑定属性
public IActionResult Post([FromBody]Person)
<代码>[来自正文]
使所有的区别都有所不同。我也发现了原因。我没有提到我的API是一个ASP.NET核心项目,这会有所不同。在普通ASP.NET中,默认情况下假定复杂类型(如
Person
)来自主体。这不是ASP.NET内核的情况,因此我犯了错误。非常感谢你为我指明了正确的方向!