0
的Web API定製路由
我們正在努力實現我們的API VersionedRoutes和正在申報的一類我們的路線:具有相同名稱但不同的HTTP方法
new VersionedRoute(
version,
"GetRiskReports",
"/Members/{id}/Cpin/RiskReports",
new RouteValueDictionary
{
{"controller", "Members"},
{"action", "GetRiskReports"},
{"id", RouteParameter.Optional}
}),
new VersionedRoute(
version,
"PostRiskReports",
"/Members/{id}/Cpin/RiskReports",
new RouteValueDictionary
{
{"controller", "Members"},
{"action", "PostRiskReports"},
{"id", RouteParameter.Optional}
})
控制器方法聲明如下:
[HttpGet]
public HttpResponseMessage GetRiskReports(int id)
[HttpPost]
public HttpResponseMessage PostRiskReports(int id)
明顯的那一刻,GET請求到URL /成員/ 123/CPIN/RiskReports路由通過與第一路線確定,但一POST請求失敗路由的,因爲它與第一路線,但該控制器的方法相匹配被標記爲僅GET。無論如何要將HTTP方法添加到自定義路線。客戶端不想更改路由名稱。