public async Task <IActionResult> GetPersonas([FromQuery] PersonaQueryFilter filters) { var personas = await _personaService.GetPersonas(filters); var personasDtos = _mapper.Map <IEnumerable <PersonaDto> >(personas); var metadata = new Metadata { TotalCount = personas.TotalCount, PageSize = personas.PageSize, ActualPage = personas.ActualPage, TotalPages = personas.TotalPages, HasNextPage = personas.HasNextPage, HasPreviousPage = personas.HasPreviousPage, NextPageUrl = _uriService.GetPersonaPaginationUri(filters, Url.RouteUrl(nameof(GetPersonas))).ToString(), PreviousPageUrl = _uriService.GetPersonaPaginationUri(filters, Url.RouteUrl(nameof(GetPersonas))).ToString() }; var response = new ApiResponse <IEnumerable <PersonaDto> >(personasDtos) { Meta = metadata }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }