2014-10-03 61 views
0

首先讓我清楚我正在談論AttributeRouting http://attributerouting.net/的獨立項目,而不是內置的屬性路由。AttributeRouting是否可以捕獲/在一個參數內?

利用他們的示例代碼此稍作修改的版本:

public class SampleController : Controller 
{ 
    [GET("Sample")] 
    public ActionResult Index() { /* ... */ } 
    [POST("Sample")] 
    public ActionResult Create() { /* ... */ } 
    [PUT("Sample/{id}")] 
    public ActionResult Update(string id) { /* ... */ } 
} 

假設對於Update我想有要求PUT Sample/Cheese/Swiss有沒有辦法通知AttributeRouting的id參數應抓住「奶酪/瑞士「?

+0

是的我知道我可以使用'PUT Sample/Cheese-Swiss'或類似的請求,但我寧願能夠達到我原來的目標。 – 2014-10-03 13:17:01

+0

爲什麼不更新(字符串產品,字符串ID)'?和'[PUT(「Sample/{product}/{id})]'?然後將它合併到方法中 – tvanfosson 2014-10-03 13:24:28

+0

@tvanfosson也可以,但如果我想要的ID是奶酪/瑞士/塊或學校/ PennState/Program/SoftwareEngineering。我想我可以使用Tuple方法,並有X方法重構url並將其傳遞給一個單獨的共享方法。我的最終目標是針對相當高的動態性。 – 2014-10-03 14:05:15

回答

1

不會[PUT(「Sample/{* id}」)]工作嗎?星號表示「休息」。

+0

他們的網站,雖然我熟悉內置的MVC catch-all路由的用法,但我並不知道它與屬性路由有關。 – 2014-10-03 14:29:46

相關問題