【问题标题】:Why Should we assign a Http Attribute to every action in controller为什么我们应该为控制器中的每个操作分配一个 Http 属性
【发布时间】:2021-12-01 03:50:27
【问题描述】:

我有一个问题,我们应该为每个操作分配一个 http 属性吗? 例如,没有任何动作的索引页面只是显示 html,我们还需要分配一个 http 属性吗?为什么,因为没有检索数据。 如果我删除 ViewDetail 和 CreateRecord 的 Http 属性,页面仍然可以工作,并且没有错误添加和不添加 http 属性的巨大差异

        public ActionResult Index()
        {
           return View();
        }

        [HttpGet]        
        public ActionResult ViewDetail()
        {
           //.... Get Data Action
           return Redirect(Url.Action("Edit","Home"));
        }

        [HttpPost]        
        public ActionResult CreateRecord()
        {
           //.... Create Action
           return Redirect(Url.Action("Edit","Home"));
        }

【问题讨论】:

  • 不,如果您有默认端点或路由,则根本不需要使用任何 http 属性。仅当您有多个相同的操作路线时才需要它们,并且 mvc 引擎应该能够确定要使用其中的哪一个。
  • HttpAttribute,主要用于 WebAPI 构建 RESTful 服务并帮助定义应该使用哪种 HTTP 方法来访问每个方法(GET、POST、PUT 等)。 Index页面的请求,默认使用GET方式。

标签: c# asp.net-mvc model-view-controller http-post http-get


【解决方案1】:

您的 Controller 类中可能有一些方法不是 HTTP 端点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2018-05-27
    相关资源
    最近更新 更多