2016-03-02 52 views
0

假設我有一個使用存儲資源動態文件夾結構的文件系統:的Web API 2.0動態路由

api/media/videos/file1.avi 
api/media/pictures/pic1.png 
api/documents/papers/math/paper1.txt 

正如你可以看到,有上/ API和之後的URL動態部分{文件名}參數:

/api/*/{filename} 
我目前使用的WebAPI 2.0註釋

[Route("api/data/{filename}")] 

和喜愛。但它只適用於'編碼'路線。

如何使用這些註釋實現「動態」路由?

謝謝!

+0

類似[api/{controller}/{id}](http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web -API) –

回答

0

不知道這是否是最佳做法,但我通過在global.asax文件中使用Application_BeginRequest方法來完成此操作。您可以使用Context.RewritePath將包含的網址映射到您網站中的任何內容。您只需編寫代碼來解析輸入的網址並進行必要的修改。