-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
96 products pagination #100
base: develop
Are you sure you want to change the base?
Conversation
@@ -45,6 +45,7 @@ public class SecurityConfig { | |||
|
|||
private static final String[] API_URLS_WHITELIST = { | |||
"/auth/**", | |||
"/products/**", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tu peux supprimer le path ici vu que tu l'as rajouté pour la méthode GET. Les autres méthodes devront être accessible uniquement pour les producteurs
@GetMapping("/homePage") | ||
@Operation(summary = " Get available products for home page", description ="Retrieve and display 8 products with stock > 0 and active = true for customers " ) | ||
@ApiResponse(responseCode = "200", description = "8 available products displayed") | ||
public ResponseEntity<List<ProductDto>> getHomePageProducts() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'aurais mis la pagination sur les méthodes getAvailableProducts, getProductsByStatus parce qu'on veut la pagination sur toute l'application pas seulement la homepage et pour toutes les méthodes qui peuvent retourner plusieurs produits.
Vu que c'est une pagination il faut que tu puisse récupérer le numéro de la page que l'utilisateur veut consulter. Et si on veut être plus flexible, on peut autoriser de choisir la taille des pages aussi comme ça le front pourra demander d'avoir 8 produits pour la homepage et 20 produits pour d'autres pages s'il a envie sans avoir à dupliquer les méthodes
* @return a list of available products | ||
*/ | ||
@Override | ||
public List<ProductDto> getAvailableProductsForHomePage() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comme je disais avec le controller. Faudrait cette logique mais plutôt sur les méthodes getAvailableProducts, getProductsByStatus
et gérer la taille des pages et le numéro de page
[Feature] Implémentation de la pagination avec Spring Data JPA
📌 Description
Cette PR implémente la pagination sur le endpoint exposant des listes de produits afin d'améliorer les performances et l'expérience utilisateur. L'objectif est d'utiliser Spring Data JPA pour gérer efficacement la pagination sans complexifier le contrôleur.
🎯 Contexte
Actuellement, le endpoint retournent l'intégralité des objets produits, ce qui peut entraîner :
Avec cette implémentation, nous pouvons :
✅ Limiter le nombre d'éléments par requête.
✅ Améliorer la réactivité et la scalabilité de l'application.
✅ Faciliter l'exploration des résultats pour les utilisateurs.
✅ Critères d'acceptation
📌 Pagination
page
etsize
.📌 Utilisation de Spring Data JPA
Pageable
dans le repository.📌 Tests
🚀 Changements apportés
Pageable
.page
etsize
.🔗 Issue liée : #96