2014-07-11 14 views

回答

1

這些信息在這種情況下,你不會把數據它的路線,因爲這將讓URL看起來可怕的,是不易伸縮的(也不可能有你的榜樣)。

在你的情況下,我會舉個例子,簡單地命名這條路線「edit-permission」。

[HttpPut, Route("edit-permission")] // The URL is then /api/MyApi/edit-permissions 
    public IHttpActionResult EditPermissions([FromBody]IEnumerable<MyType> myTypes) 
    { 
     // Do stuff with myTypes 
     return Ok("Editing permissions was a success!"); // Returns a 200 HTTP status code 
    } 

如果你把類型在HTTP請求的身體,而不是URL和使用IHttpActionResult(或HttpResponseMessage)輸入您的控制器,到myTypes屬性的WebAPI框架將自動映射身體。

+0

這是處理收集參數的正常/最佳做法嗎? – Robert

+0

無法評論是否是最佳做法,但從您的問題來看,它看起來是最實際的解決方案。您可以根據需要將新參數添加到主體,而無需每次都更改URL。如果你想通過將它放在URL中來實現,它將看起來像「/ api/action?param1 = x&param2 = x2&param3 = x3&param4 = x4」,所有這些參數必須是動作定義中的參數。在URL中有幾個參數是好的,但是一旦你有了它們的集合,如果按照我描述的方式完成,就會變得更清潔和更容易維護。 – grimurd

相關問題