我想要一个可以调用的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
我做错了什么?
答案 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