From 9e5a7f89bd9a2f6fa80ecc21453cdb2c3a1f6637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=A0s?= Date: Thu, 21 Mar 2024 00:14:09 +0100 Subject: [PATCH] feat(DevWeb): Add Pojo for Json responses --- .../json/ErrorResponse.java} | 34 +++-------------- .../uppa/project/pojo/json/HttpResponse.java | 37 +++++++++++++++++++ .../uppa/project/pojo/json/LoginResponse.java | 24 ++++++++++++ .../{servlet => }/utils/HttpRequestUtils.java | 2 +- 4 files changed, 68 insertions(+), 29 deletions(-) rename S2/DevWeb/Projet/src/main/java/uppa/project/{servlet/json/ErrorApi.java => pojo/json/ErrorResponse.java} (53%) create mode 100644 S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/HttpResponse.java create mode 100644 S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/LoginResponse.java rename S2/DevWeb/Projet/src/main/java/uppa/project/{servlet => }/utils/HttpRequestUtils.java (95%) diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/json/ErrorApi.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/ErrorResponse.java similarity index 53% rename from S2/DevWeb/Projet/src/main/java/uppa/project/servlet/json/ErrorApi.java rename to S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/ErrorResponse.java index 984ab14..849789c 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/json/ErrorApi.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/ErrorResponse.java @@ -1,25 +1,18 @@ /* - * ErrorApi.java, 20/03/2024 + * ErrorResponse.java, 20/03/2024 * UPPA M1 TI 2023-2024 * Pas de copyright, aucun droits */ -package uppa.project.servlet.json; - -import com.google.gson.Gson; +package uppa.project.pojo.json; /** - * Classe représentant une erreur pour l'API + * Classe représentant une erreur * * @author Kevin Mitresse * @author Lucàs Vabre */ -public class ErrorApi { - - /** - * Code HTTP de l'erreur - */ - private final int status; +public class ErrorResponse extends HttpResponse{ /** * Type de l'erreur @@ -38,19 +31,12 @@ public class ErrorApi { * @param error type de l'erreur * @param message message d'erreur */ - public ErrorApi(int status, String error, String message) { - this.status = status; + public ErrorResponse(int status, String error, String message) { + super(status); this.error = error; this.message = message; } - /** - * @return le code HTTP de l'erreur - */ - public int getStatus() { - return status; - } - /** * @return le type de l'erreur */ @@ -64,12 +50,4 @@ public class ErrorApi { public String getMessage() { return message; } - - /** - * @return la représentation JSON de l'erreur - */ - public String toJson() { - Gson gson = new Gson(); - return gson.toJson(this); - } } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/HttpResponse.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/HttpResponse.java new file mode 100644 index 0000000..e2873a0 --- /dev/null +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/HttpResponse.java @@ -0,0 +1,37 @@ +/* + * ErrorResponse.java, 20/03/2024 + * UPPA M1 TI 2023-2024 + * Pas de copyright, aucun droits + */ + +package uppa.project.pojo.json; + +/** + * Classe représentant une réponse HTTP + * + * @author Kevin Mitresse + * @author Lucàs Vabre + */ +public abstract class HttpResponse { + + /** + * Code HTTP de la réponse + */ + protected final int status; + + /** + * Constructeur + * + * @param status code HTTP de l'erreur + */ + public HttpResponse(int status) { + this.status = status; + } + + /** + * @return le code HTTP de la réponse + */ + public int getStatus() { + return status; + } +} diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/LoginResponse.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/LoginResponse.java new file mode 100644 index 0000000..3bfba86 --- /dev/null +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/json/LoginResponse.java @@ -0,0 +1,24 @@ +package uppa.project.pojo.json; + +import uppa.project.pojo.User; + +public class LoginResponse extends HttpResponse { + + private final User user; + + private final String redirect; + + public LoginResponse(int status, User user, String redirect) { + super(status); + this.user = user; + this.redirect = redirect; + } + + public User getUser() { + return user; + } + + public String getRedirect() { + return redirect; + } +} diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/utils/HttpRequestUtils.java b/S2/DevWeb/Projet/src/main/java/uppa/project/utils/HttpRequestUtils.java similarity index 95% rename from S2/DevWeb/Projet/src/main/java/uppa/project/servlet/utils/HttpRequestUtils.java rename to S2/DevWeb/Projet/src/main/java/uppa/project/utils/HttpRequestUtils.java index 1266d55..0798958 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/utils/HttpRequestUtils.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/utils/HttpRequestUtils.java @@ -4,7 +4,7 @@ * Pas de copyright, aucun droits */ -package uppa.project.servlet.utils; +package uppa.project.utils; import jakarta.servlet.http.HttpServletRequest; import java.io.BufferedReader;