从这里报价:
默认情况下,Web API尝试从请求URI中获取简单类型。该 属性指示Web API来读取请求主体的价值。
Web API最多读取一次响应主体,因此操作的一个参数只能来自请求主体。如果需要从请求正文中获取多个值,请定义一个复杂类型。
其次,客户端需要使用以下格式发送值:
因此,如果要以格式发布数据,则data=string
必须创建复杂类型。
public class MyFormData
{
public string Data { get; set; }
}
然后像这样更新您的控制器:
public void Post(MyFormData formData)
{
//your JSON string will be in formData.Data
}
当然,您的其他选择是将内容类型更改为JSON,但实际上取决于您的要求。