public IActionResult GetSensorDatas([FromHeader(Name = "Accept")] string mediaType) { var dataFromAzure = _context.SensorDatas; var modelToReturn = Mapper.Map <IEnumerable <RecordDto> >(dataFromAzure); _logger.LogInformation(100, $"All data measurements have been requested at UTC time {DateTime.UtcNow}"); //content-type negotioation if (mediaType == "application/vnd.sysint.hateoas+json") { modelToReturn = modelToReturn.Select(record => { record = CreateLinksForRecord(record); return(record); }); var wrapper = new LinkedCollectionResourceDto <RecordDto>(modelToReturn); return(Ok(CreateLinksForRecords(wrapper))); } // Simple representation else { return(Ok(modelToReturn)); } }
private LinkedCollectionResourceDto <RecordDto> CreateLinksForRecords(LinkedCollectionResourceDto <RecordDto> wrapper) { // Link to self wrapper.Links.Add(new LinkDto(_urlHelper.Link("GetAllData", new { }), "self", "GET")); return(wrapper); }