【发布时间】:2015-07-02 19:17:51
【问题描述】:
[System.Web.Http.Route("{id}")]
[System.Web.Http.HttpPut]
public async Task<ComplaintVM> Put(int id,int? employeeId)
{
var obj = _resolver.GetService<Complaint>();
obj.FranchiseId = 1;
obj.Id = id;
await obj.GetDetailAsyc();
obj.EmployeeId = employeeId;
await obj.AllocateAndManageCallAsyc();
return obj.EntityToVM();
}
这是使用 [System.Web.Http.RoutePrefix("api/app/complaint")] 的 put 方法
所以当我使用 PUT 请求调用我的方法时,我收到以下错误“消息:“请求的资源不支持 http 方法 'PUT'。”。
但是当我在方法没有 int 的情况下进行相同的调用时?员工 ID 参数。通话正常。
我将employeeId 作为json 格式的请求传递。我正在使用 fiddler 来测试代码
【问题讨论】:
-
您能告诉我们您的呼叫网址(提琴手有效负载),您的其他控制器操作等吗?看起来路由匹配以不支持 PUT 的其他操作结束。
-
您是否尝试将 [FromBody] 属性放在employeeid 参数上?
标签: asp.net asp.net-mvc-3 web asp.net-web-api asp.net-web-api2