我有一个ASP .NET MVC 4项目
我有类似的东西
public class FooController : ApiController
{
[HttpGet]
public models.Terminal read(long id)
{
}
}
是否有使用该属性的替代方法?在项目的其他地方我可以指定它是一个HttpGet请求方法而不是在Controller中吗?
答案 0 :(得分:2)
没有。好吧,不是真的。
使用[HttpGet]
属性是元编程的一种形式,因为您正试图声明有关该方法的一些其他信息。 Controller 是您的客户端与API之间的接口,因此这就是它所属的位置。 Controller负责处理HTTP请求并适当地执行代码,因此提供有关如何处理HTTP请求的附加信息(或约束)的属性属于Controller。因此,即使有某种方法可以在没有属性的情况下实现相同的功能,您也不应该这样做。