コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        /**
         * 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));
        }
コード例 #4
0
        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));
        }