In Asp.Net Web API 2 Attribute routing, If i call any attribute i need to get all list of data mapping with that attribute but I am getting the first element of a sequence that satisfies a condition.
My controller looks like this:
[RoutePrefix("api/Ifcobjects")] public class IfcobjectsController : ApiController { static List<Ifcobject> Ifcobjects = new List<Ifcobject>() { new Ifcobject() { Id = 1,Ifctype="Ifcwall", Name = "Stdwall",Tag="Wall",Material="Beton",Breite=25,Betonklasse="C30/37" }, new Ifcobject() { Id = 2,Ifctype="Ifcwall", Name = "Stdwall",Tag="Wall",Material="Beton",Breite=50 }, new Ifcobject() { Id = 3,Ifctype="Ifcwall", Name = "Stdwall50cm",Tag="Wall",Material="Beton",Breite=75 }, new Ifcobject() { Id = 4,Ifctype="Ifcbeam", Name = "beam",Tag="Beam",Material="Beton",Breite=100 } }; public IHttpActionResult Get() { return Ok(Ifcobjects); } public IHttpActionResult Get(int id) { var Ifcobject = Ifcobjects.FirstOrDefault(s => s.Id == id); if (Ifcobject == null) { //return NotFound(); return Content(HttpStatusCode.NotFound, "Ifcobject not found"); } return Ok(Ifcobject); } [Route("{Ifctype:alpha}")] public Ifcobject Get(string ifctype) { return Ifcobjects.FirstOrDefault(s => s.Ifctype.ToLower() == ifctype.ToLower()); } }