| 價值觀 | |
|---|---|
| 規則識別碼 | ASP0022 |
| 類別 | Usage |
| 修正是破壞性或非破壞性 | Non-breaking |
原因
HTTP 請求會匹配多條路由,導致歧義匹配錯誤。
規則描述
當偵測到路由衝突時,會發出此診斷訊號。
如何修正違規
若要修正違反此規則,請更改路由模式、HTTP 方法或路由限制。
隱藏警告的時機
請勿隱藏此規則的警告。
註釋
ASP0023 用於警告 ASP.NET Core MVC 應用程式中的路由衝突,而這個分析器則用於警告 最小 API 應用程式中的路由衝突。
此分析器在報告重複路由時採取保守的方法,以避免誤判:
- 分析器只會回報在同一程式碼區塊中宣告的重複路由。 不同分支
if的重複路由不會被報告,因為分析器無法靜態判斷執行時會使用哪條路由。 - 分析器只會回報具有已知元資料的重複路由。 未知方法在路由處理程式中被呼叫時,可能會新增元資料,而這些元資料隨後可用來調整路由的匹配方式。