MVC Web API将ID和POST数据传递给方法

时间:2016-04-28 06:49:00

标签: c# asp.net-web-api

我想要一个可以调用的PUT方法:

localhost/api/editRole/id and pass post-data.

我的路线如下:

routeTemplate: "api/{controller}/{action}/{id}"

然后我尝试了以下方法:

    [HttpPut]
    public bool editRole(int id, roleDTO postdata)
    {
        return dal.editRole(postdata);
    }

但如果我尝试使用一些后期数据来调用localhost/api/editRole/2,我会获得requested resource does not support http method 'PUT

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您应该相应地使用[FromUri][FromBody]属性标记您的参数:

[HttpPut]
public bool editRole([FromUri] int id, [FromBody] roleDTO postdata)
{
    return dal.editRole(postdata);
}

您的网址localhost/api/editRole/2也应该像localhost/api/{controllerName}/2