MVC路由属性方括号

时间:2016-12-16 23:52:38

标签: asp.net-mvc

我从另一个开发人员那里继承了以下代码,我试图理解它,square brackets []代表什么?为什么有些人有'HttpPost'和一些'HttpGet'

namespace webService.Controllers.Scheduler
{
    public class testbedsController : EntityController<testbedsService, testbeds>
    {
        testbedsService p = new testbedsService();
        [Route("api/testbeds/")]
        [HttpPost]
        public testbeds AddOrUpdate(testbeds testbedsInformation)
        {
            try
            {

                return p.AddOrUpdate(testbedsInformation);
            }
            catch (Exception e)
            {                
                throw new Exception(e.ToString());
            }
        }
}

1 个答案:

答案 0 :(得分:1)

方括号表示C#&#34;属性&#34;。它们可以指定有关某些方法的其他数据。在此处查看更多信息:Attributes in C#

HttpGetHttpPostRoute属性(以及其他属性)可以指定以下内容:

  1. 用于调用MVC操作方法的URL
  2. MVC操作方法允许的HTTP方法
  3. 在这种特殊情况下:

    • [Route("api/testbeds/")] - &gt;这指定此操作的网址为api/testbeds/,因此您可以通过http://my-server/api/testbeds/访问此网址。
    • [HttpPost] - &gt;这并没有指定一个URL,但它指定只有HTTP&#34; POST&#34;允许动词(所以不要GET,PUT,DELETE等)