【发布时间】:2017-08-01 09:19:52
【问题描述】:
我尝试使用 Web API 为 DataTables 进行服务器端处理。我的 Web API 控制器中有两个具有相同参数列表的操作:
public class CampaignController : ApiController
{
// GET request handler
public dtResponse Get(int draw, int start, int length)
{
// request handling
}
// POST request handler
public void Post(int draw, int start, int length)
{
// request handling
}
}
如果我使用 GET 方法向服务器发送 AJAX 请求,Get 操作将被激活。但是,如果我使用 POST 方法,则不会激活任何操作。
我试图将 POST 处理程序签名更改为
public void Post([FromBody]object value)
{
// request handling
}
在这种情况下,value 是null。请注意,HttpContext.Current.Request.Form 集合不为空。此集合中存在 draw、start、length 变量。因此,我认为问题在于模型绑定,但我无法修复它。请帮帮我。
【问题讨论】:
-
POST 端点不适合多个参数。使用绑定对象。我看到你在下面的 sn-p 中改变了它。使用具体类型:类图、道具绘制、道具开始、道具长度。
-
另外添加动词属性[HttpPost],[HttpGet]帮助设计/构建一个restful API
-
@TezWingfield,我尝试添加动词属性,但没有任何结果。
标签: c# asp.net-web-api datatables