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
* 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);
}
}
@@ -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
*/
package uppa.project.servlet.utils;
package uppa.project.utils;
import jakarta.servlet.http.HttpServletRequest;
import java.io.BufferedReader;