20

我使用.net Web API V1构建了一些宁静的api。Web API路由约束在HttpMethod中缺少修补程序

我们正在尝试为web api定义一些路由。我在定义'Put'和'patch'的路线时遇到了一些问题。

它们具有相同的URL,唯一不同的是在HttpMethod中。在HttpMthod,对补丁不支持http://msdn.microsoft.com/en-us/library/system.net.http.httpmethod(v=vs.118).aspx

config.Routes.MapHttpRoute(
    "UpdateCustomer", 
    "api/customers/id/{id}", 
    new {controller = "Customers", action = "UpdateCustomer"}, 
    new {id = @"\d+", httpMethod = new HttpMethodConstraint(HttpMethod.Put)} 
); 

config.Routes.MapHttpRoute(
    "PatchCustomer", 
    "api/customers/id/{id}", 
    new {controller = "Customers", action = "PatchCustomer"}, 
    new {id = @"\d+", httpMethod = new HttpMethodConstraint(HttpMethod.**Patch**)} 
); 

回答