0
我需要在以下url中提到的{ID}中爲web api服務添加數據註釋,以接受最大長度爲7,否則我應該拋出自定義異常。我沒有任何使用maxlength屬性的模型類。感謝你的幫助。爲查詢字符串獲得的值添加數據註釋
http://xyz.com/{ID}
我需要在以下url中提到的{ID}中爲web api服務添加數據註釋,以接受最大長度爲7,否則我應該拋出自定義異常。我沒有任何使用maxlength屬性的模型類。感謝你的幫助。爲查詢字符串獲得的值添加數據註釋
http://xyz.com/{ID}
什麼,你可以嘗試做如下,從你的問題有URL假設:
routes.MapRoute(
"Default", // Route name
"{id}", // URL with parameters
new { controller = "Home", action = "Index" }, // Parameter defaults,
new { id = @"\d{4}" } //Constraint
);
routes.MapRoute(
"DefaultError", // Route name
"{id}", // URL with parameters
new { controller = "Home", action = "ThrowError" }, // Parameter defaults,
new { id = @"\d{5,}" } //Constraint
);
,並在你的控制器ThrowError(int id)
方法,拋出你想要的錯誤或重定向到錯誤頁面。
爲什麼不在WebAPI方法中包含處理程序?
public SomeModel Get(int id)
{
if (id != null && id <= 7)
return something();
throw new HttpResponseException(HttpStatusCode.{BadRequest|Forbidden|SomethingElse});
}
儘管爲什麼要拋出自定義異常,那麼路由約束是要走的路,那不是非常RESTful。返回一個HTTP狀態碼。 – 2013-04-30 19:09:07