2017-02-02 105 views
0

下面是具有以下操作的控制器。具有相同動作的Asp.net Web Api屬性路由

[AttributeRouting.RoutePrefix("Resource")] 
public class LimitController : ApiController 
{ 
     [AttributeRouting.Web.Mvc.Route("{param}/Entity")] 
     [HttpGet] 
     public IHttpActionResult EntityGet(string param) 

     [AttributeRouting.Web.Mvc.Route("{param}/Entity")] 
     [HttpPost] 
     public IHttpActionResult EntityPost(string param) 

     [AttributeRouting.Web.Mvc.Route("{param}/Entity")] 
     [HttpPut] 
     public IHttpActionResult EntityUpdate(string param) 

} 

我已經把我的控制這3個動作和放置屬性的路由按https://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

但只有GET方法是可訪問的,並把和POST方法返回

{ 
     "Message": "The requested resource does not support http method 'POST'." 
    } 

任何幫助是多少appretiated

以下是放置和郵寄請求郵遞員

PUT /api/v1/Resource/213/Entity HTTP/1.1 
Host: localhost:2022 
Content-Type: application/json 
Cache-Control: no-cache 
Postman-Token: fc0b7d89-c881-df79-0041-ca1b84ece89a 

{ 
"RelationshipID":"4327010003000061=2107" 
} 

和POST

POST /api/v1/Resource/213/Entity HTTP/1.1 
Host: localhost:2022 
LicenseKey: A394F15662BE3095C4D7B51F43EAEC9ACAB6A080 
Authorization: Bearer de580af5-fc58-47d5-bf4a-025070aacf97 
Content-Type: application/json 
Cache-Control: no-cache 
Postman-Token: 05e694f0-aef5-a769-8fda-2d5538b57bd9 

{ 
"RelationshipID":"4327010003000061=2107" 
} 
+0

您已經添加'config.MapHttpAttributeRoutes()路由;'你WebApiConfig? –

+0

是的,我的確加入了 –

+0

您能否顯示您對POST&PUT的完整要求? –

回答

0
AttributeRouting.RoutePrefix 

是ASP.net MVC屬性路由的開源版本。嘗試使用

System.Web.Http.RoutePrefix 

System.Web.Http.Route 

應該解決的問題,所有的屬性將在HTTP動詞

相關問題