public IActionResult GetModelById(int id) { string header = Request.Headers["Accept-Language"]; ModelDetailsDTO model = DataContext.Models.ToDetails(header).FirstOrDefault(m => m.Id == id); model.Links.AddReference("self", $"http://localhost:5000/api/models/{id}"); return(Ok(model)); }
public IActionResult GetModelById(int id) { string language = Request.Headers["Accept-language"]; /*Setting the language to default if not de-DE */ if (language != "de-DE") { language = "en-US"; } /*Finding the model by ID - returns null if not found */ ModelDetailsDTO mod = DataContext.Models.ToDetails(language).FirstOrDefault(m => m.Id == id); /*Adding _links reference to the model */ mod.Links.AddReference("self", string.Format("http://localhost:5000/api/tinysoldiers/{0}", id)); return(Ok(mod)); }
/** * Gets single soldier model from API by id at http://localhost:5000/api/soldiers/{id} [GET] * * Accepts URL parameter id to get model by id */ public IActionResult GetModelById(int id) { /* extract accept language if provided as header in request - defaults to en-US */ String acceptLanguage = Request.Headers["Accept-Language"].ToString(); acceptLanguage = acceptLanguage == "" ? "en-US" : acceptLanguage; /* get requested model by id from model list from data context */ ModelDetailsDTO model = DataContext.Models.ToDetails(acceptLanguage).FirstOrDefault(soldier => soldier.Id == id); /* add links resource to themself for HATEOS */ String route = HttpContext.Request.Host.ToString() + Request.Path; model.Links.AddReference("self", route); /* return either 404 (not found) if model with given id was not in data context or 200 (OK) with encountered model */ if (model == null) { return(NotFound()); } return(Ok(model)); }
public IActionResult GetModelById(int Id) { // AcceptLanguage is default en-US var acceptLanguage = "en-US"; var l = HttpContext.Request.Headers["Accept-Language"].ToString(); if (l != "") { acceptLanguage = l; } ModelDetailsDTO model = DataContext.Models.ToDetails(acceptLanguage).FirstOrDefault(x => x.Id == Id); if (model == null) { return(BadRequest()); } // Adding HATEOS reference to self model.Links.AddReference("self", HttpContext.Request.GetDisplayUrl()); return(Ok(model)); }