如果我有2个控制器动作:
[HttpGet] public ActionResult Login() { //... return View(); }
和
[HttpPost] public ActionResult Login(FormCollection values) { //... return RedirectToAction("Index","Home"); }
似乎Post装饰是必需的(这是有道理的),但HttpGet装饰完全是可选的.无论有没有都可以.除非另有说明,否则MVC似乎将控制器操作默认为HttpGet.
我必须决定是否希望我的代码的未来读者必须自己解决这个问题,或者我是否想要记住在任何地方添加HttpGet以保持一致性.但我的问题不是关于包含明确的装饰是否是一个好的做法,即使它已经违约了.
我的问题是:总是这样我不需要用HttpGet来装饰控制器方法吗?如果我做或没有明确指定,有什么方法可以咬我吗?我已经搜索了这个但是我能找到的所有帖子都描述了为什么你可能想要使用两个注释而不是特别包含HttpGet的原因.