Commit a9721011 by Rubén Ramírez

feat: [RecursosController]: Añadida la función al controlador para el ranking

parent c33f4510
......@@ -16,6 +16,7 @@ import org.springframework.web.multipart.MultipartFile;import com.ujaen.tfg.mang
import com.ujaen.tfg.mangaffinity.rest.DTO.DTORecurso;
import com.ujaen.tfg.mangaffinity.rest.DTO.Mapper;
import java.io.IOException;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/recursos")
......@@ -196,7 +197,7 @@ public class RecursosController {
}
/**
* Busca un recurso por su ID.
* Busca un recurso por su ID e incrementa su contador de accesos.
* Devuelve:
* - 200 OK con el recurso si existe.
* - 404 NOT FOUND si el recurso no está registrado.
......@@ -411,5 +412,30 @@ public class RecursosController {
}
}
/**
* Obtiene el ranking de los recursos más populares de la última semana.
* Devuelve:
* - 200 OK con la lista de los recursos más populares si existen.
* - 204 NO CONTENT si no hay recursos disponibles.
* - 500 INTERNAL SERVER ERROR en caso de error inesperado.
*/
@GetMapping("/ranking")
public ResponseEntity<List<DTORecurso>> obtenerRanking() {
List<Recurso> recursosTop = servicioRecursos.obtenerTopRecursosUltimaSemana();
if (recursosTop.isEmpty()) {
recursosTop = servicioRecursos.obtenerListadoRecursos();
}
if (recursosTop.isEmpty()) {
return ResponseEntity.noContent().build();
}
List<DTORecurso> dtoRecursosTop = recursosTop.stream()
.map(mapper::dto)
.collect(Collectors.toList());
return ResponseEntity.ok(dtoRecursosTop);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment