我有一個API端點,應將某些數據導出爲Excel xlsx文件。我試圖得到的URL是這樣的:localhost/service/resources/123.xlsx
(因爲我認爲使用這個擴展是一個很好的方法)。 但它總是給我一個404 Not Found。未找到Web Api路由{id:int} .xlsx
該控制器具有路由前綴:[RoutePrefix("resources")]
和行動上的路由屬性是:[Route("{id:int}.xlsx")]
即使當我改變了路線[Route("123.xlsx")]
它不會找到它。我也嘗試了一個正則表達式約束[Route("{key:regex(\\d+\\.xlsx}")]
沒有運氣。
我懷疑它可能由靜態文件處理程序被抓住,但web配置已經設定
<modules runAllManagedModulesForAllRequests="true"/>
我認爲這應該工作,因爲它的工作在以前的項目非常相似的路線,使用舊的路由設置和不屬性路由。該項目沒有使用OWIN託管,但是問題在這裏?
我該如何做這項工作?我需要GET和PUT這條路線。
Btw,localhost/service/resources/123
將返回資源的不同表示形式。
信息:託管在IIS中使用OWIN 3.0和Web API 5.2.2