2
我們有一些控制器只能處理GET請求。當POST到達時它返回一個500,我寧願返回一個405(方法不允許)。有沒有辦法對此進行設置,以便在收到POST時控制器上的所有路由返回405?一些控制器需要接受POST,所以它不能在IIS配置中(即配置爲拒絕動詞)。有關您的信息,該平臺是一個Azure Web應用程序。我可以配置控制器拒絕所有Post方法嗎?
我確實有一個解決方案,但有一個缺點,不得不被添加到每條路線,這看起來很麻煩。
[Route("example/route/{date:datetime}")]
[AcceptVerbs("GET", "POST")]
public Periods GetExampleRoute(DateTime date)
{
if (Request.Method.Method.Equals("POST"))
{
throw new HttpResponseException(HttpStatusCode.MethodNotAllowed);
}
... GET processing ...
}
我知道必須有優於一刀切「N」粘貼至少一種方式!謝謝。 – miltonb