Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Rubén Ramírez
/
MangAffinity
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a9721011
authored
Apr 03, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [RecursosController]: Añadida la función al controlador para el ranking
parent
c33f4510
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
1 deletions
src/main/java/com/ujaen/tfg/mangaffinity/rest/RecursosController.java
src/main/java/com/ujaen/tfg/mangaffinity/rest/RecursosController.java
View file @
a9721011
...
@@ -16,6 +16,7 @@ import org.springframework.web.multipart.MultipartFile;import com.ujaen.tfg.mang
...
@@ -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.DTORecurso
;
import
com.ujaen.tfg.mangaffinity.rest.DTO.Mapper
;
import
com.ujaen.tfg.mangaffinity.rest.DTO.Mapper
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.stream.Collectors
;
@RestController
@RestController
@RequestMapping
(
"/recursos"
)
@RequestMapping
(
"/recursos"
)
...
@@ -196,7 +197,7 @@ public class RecursosController {
...
@@ -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:
* Devuelve:
* - 200 OK con el recurso si existe.
* - 200 OK con el recurso si existe.
* - 404 NOT FOUND si el recurso no está registrado.
* - 404 NOT FOUND si el recurso no está registrado.
...
@@ -411,5 +412,30 @@ public class RecursosController {
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment