C# C收到[HTTPPOST]请求

C# C收到[HTTPPOST]请求,c#,C#,对于C WebApi,我使用此函数处理来自前端的POST请求,代码如下Method1: 但它似乎不起作用,除非我试着 方法2 有没有办法让函数POST单独发送到接收的对象,或者处理POST的唯一方法是Method2 ?并且body是post中的默认源。您可以通过FromUri属性使用参数。您发布的表单是什么样子的?@GSerg它类似于以下内容{Name=myName,email=a@a.com,Code=0}仅供参考我的前端正在使用react我想你的问题已经在这里得到了回答:我明白了:当一个参数

对于C WebApi,我使用此函数处理来自前端的POST请求,代码如下Method1:

但它似乎不起作用,除非我试着 方法2

有没有办法让函数POST单独发送到接收的对象,或者处理POST的唯一方法是Method2

并且body是post中的默认源。您可以通过FromUri属性使用参数。

您发布的表单是什么样子的?@GSerg它类似于以下内容{Name=myName,email=a@a.com,Code=0}仅供参考我的前端正在使用react我想你的问题已经在这里得到了回答:我明白了:当一个参数有[FromBody]时,Web API使用内容类型头来选择格式化程序。在本例中,内容类型是application/json,请求主体是原始json字符串,而不是json对象。最多允许从消息体读取一个参数。所以这不起作用,我想这回答了我的问题,那么我可以得出结论,问题中的上述方法1实际上是不起作用的吗?如果你想使用body和default,内置WebService请求处理,是的。嗯,让我们看看,所以一般结论,只有像HttpGet这样的参数将使用Method1,而通过body传递的HttpPost将使用Method2。您可以将Method2与[FromUri]一起使用,但参数必须在ulr中,而不是在body中。Get并没有主体,所以默认源是FromUri,但在post中必须添加属性以从uri读取。
[HttpPost]
public object GetPostItem(string Name, string email, int Code)
{
  //perform something here
}       
[HttpPost]
public object GetPostItem(info Info)
{
  //This is how I get them from *Info*
  info.Name
  info.email
  info.Code
  //perform something here
}