添加[HttpGet]注释有什么好处?

时间:2014-07-18 18:30:41

标签: c# annotations data-annotations asp.net-web-api2 asp.net-web-api-routing

如果Controller指定路线:

[Route("api/platypus/getPlatypi")]
public List<Platypus> GetAllPlatypi()
{
    return _platypusRepository.GetPlatypi();
}

...用“[HttpGet]”注释它是否有任何好处:

[HttpGet]
[Route("api/platypus/getPlatypi")]
public List<Platypus> GetAllPlatypi()
{
   return _platypusRepository.GetPlatypi();
}

1 个答案:

答案 0 :(得分:2)

对于您提供的示例,添加HTTP方法属性没有任何优势。按照惯例,Web API将尝试匹配以HTTP请求方法(GET,POST,PUT等)开头的控制器方法。

在您的示例中,将考虑方法GetAllPlatypi以匹配对该控制器的所有GET请求。

但是,如果您的方法名为FindAllPlatypi,则需要添加[HttpGet]属性,以明确此方法适用于GET请求。