feat(DevWeb): Add Pojo for Json responses

This commit is contained in:
Lucàs
2024-03-21 00:14:09 +01:00
parent b9bc741fc6
commit 9e5a7f89bd
4 changed files with 68 additions and 29 deletions
@@ -1,25 +1,18 @@
/* /*
* ErrorApi.java, 20/03/2024 * ErrorResponse.java, 20/03/2024
* UPPA M1 TI 2023-2024 * UPPA M1 TI 2023-2024
* Pas de copyright, aucun droits * Pas de copyright, aucun droits
*/ */
package uppa.project.servlet.json; package uppa.project.pojo.json;
import com.google.gson.Gson;
/** /**
* Classe représentant une erreur pour l'API * Classe représentant une erreur
* *
* @author Kevin Mitresse * @author Kevin Mitresse
* @author Lucàs Vabre * @author Lucàs Vabre
*/ */
public class ErrorApi { public class ErrorResponse extends HttpResponse{
/**
* Code HTTP de l'erreur
*/
private final int status;
/** /**
* Type de l'erreur * Type de l'erreur
@@ -38,19 +31,12 @@ public class ErrorApi {
* @param error type de l'erreur * @param error type de l'erreur
* @param message message d'erreur * @param message message d'erreur
*/ */
public ErrorApi(int status, String error, String message) { public ErrorResponse(int status, String error, String message) {
this.status = status; super(status);
this.error = error; this.error = error;
this.message = message; this.message = message;
} }
/**
* @return le code HTTP de l'erreur
*/
public int getStatus() {
return status;
}
/** /**
* @return le type de l'erreur * @return le type de l'erreur
*/ */
@@ -64,12 +50,4 @@ public class ErrorApi {
public String getMessage() { public String getMessage() {
return message; return message;
} }
/**
* @return la représentation JSON de l'erreur
*/
public String toJson() {
Gson gson = new Gson();
return gson.toJson(this);
}
} }
@@ -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;
}
}
@@ -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;
}
}
@@ -4,7 +4,7 @@
* Pas de copyright, aucun droits * Pas de copyright, aucun droits
*/ */
package uppa.project.servlet.utils; package uppa.project.utils;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.io.BufferedReader; import java.io.BufferedReader;