Tengo un proyecto de API web de ASP.NET. Usando la reflexión, ¿cómo puedo obtener el atributo del verbo Http ([HttpGet]
en el ejemplo a continuación) que decora mis métodos de acción?¿Cómo obtengo el atributo de verbo http de una acción usando refection? ASP.NET Web API
[HttpGet]
public ActionResult Index(int id) { ... }
Supongamos que tengo el método de acción anterior en mi controlador. Hasta ahora, al usar la reflexión he podido obtener un objeto MethodInfo del método de acción Index
que he almacenado en una variable llamada methodInfo
Intenté obtener el verbo http utilizando lo siguiente pero no funcionó - devoluciones null:
var httpVerb = methodInfo.GetCustomAttributes(typeof (AcceptVerbsAttribute), false).Cast<AcceptVerbsAttribute>().SingleOrDefault();
Algo me di cuenta:
Mi ejemplo anterior es un proyecto de API web ASP.NET que estoy trabajando.
Parece que el [HttpGet]
es una System.Web.Http.HttpGetAttribute
pero en regular de ASP.NET MVC proyecta la [HttpGet]
es un System.Web.Mvc.HttpGetAttribute
Gracias @Elie, sin embargo, su solución solo funciona para una aplicación ASP.NET MVC pero no para una aplicación ASP.NET Web API.En un proyecto de API WEB, el verbo http - HttpGet, es diferente del HttpGet en un proyecto MVC. – cda01