我有一個asp.net web api,使用屬性在控制器上進行路由。在行動層面上沒有任何路線。訪問資源的途徑是:路由參數和多種控制器類型
[Route("{id}"]
public MyApiController: ApiController
{
public HttpResponseMessage Get(Guid id)
{
// ...
}
}
我的問題是,當我想創建一個搜索控制器,我想的網址是
[Route("search")]
但是,這將導致一個錯誤: Multiple controller types were found that match the URL
。是否有可能確保在通用之前選擇完全匹配的路線?
從技術上講,短語search
可能是第一個控制器的有效ID,但由於{id}
是一個GUID,所以永遠不會出現這種情況,因此我想選擇具有完全匹配路由的控制器。
你是什麼意思的「默認路線」?你能展示更多的上下文代碼嗎? – DavidG 2014-10-27 09:08:46
對不起。我們正在討論控制器級別的路由。默認路由沒有技術含義,但是它是訪問API主要資源的路由。 – 2014-10-27 09:12:27
那麼在控制器級別擁有'RoutePrefix'會不會更好? – DavidG 2014-10-27 09:40:59