替代使用HttpGetAttribute

时间:2014-06-06 19:30:11

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我有一个ASP .NET MVC 4项目

我有类似的东西

   public class FooController : ApiController
        {

            [HttpGet]
            public models.Terminal read(long id)
            {

            }
        }

是否有使用该属性的替代方法?在项目的其他地方我可以指定它是一个HttpGet请求方法而不是在Controller中吗?

1 个答案:

答案 0 :(得分:2)

没有。好吧,不是真的。

使用[HttpGet]属性是元编程的一种形式,因为您正试图声明有关该方法的一些其他信息。 Controller 是您的客户端与API之间的接口,因此这就是它所属的位置。 Controller负责处理HTTP请求并适当地执行代码,因此提供有关如何处理HTTP请求的附加信息(或约束)的属性属于Controller。因此,即使有某种方法可以在没有属性的情况下实现相同的功能,您也不应该这样做。