Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

group = 'fr.sandro642.github'
version = '0.1.9-SNAPSHOT' // Version de votre projet
version = '0.1.9.1-STABLE' // Version de votre projet

// Ajoutez cette tâche à votre build.gradle
tasks.register('printVersion') {
Expand Down
6 changes: 3 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

Bienvenue dans **ConnectorAPI** : la passerelle universelle pour connecter, automatiser et orchestrer vos flux de données !
Et si vous pensiez que les API étaient compliquées, détrompez-vous ! Avec ConnectorAPI, c’est comme jouer avec des Lego : simple, intuitif et puissant.
> Pour information, cette librairie n'est pas destinée à être utilisée pour Minecraft, elle est utilisée afin professionnel dans un projet Java
> Pour information, cette librairie n'est pas destinée à être utilisée pour Minecraft, elle est utilisée afin professionnel dans un projet Java.

---

```java
Stable Version : 0.1.8-STABLE
Stable Version : 0.1.9.1-STABLE
```

---
Expand All @@ -22,7 +22,7 @@ Hook -----------------------|
```
---

Être tenu au courant des dernière features et mises à jour de ConnectorAPI
Être tenu au courant des dernières features et mises à jour de ConnectorAPI.

- [Feature/Schematic](feature/schematic.md)

Expand Down
48 changes: 24 additions & 24 deletions src/main/java/fr/sandro642/github/api/ApiClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class ApiClient {
*/
private final WebClient webClient;

private final AtomicReference<ApiResponse<Void>> lastResponse = new AtomicReference<>();
private final AtomicReference<ApiResponse> lastResponse = new AtomicReference<>();

// private final AtomicReference<Map<String, Object>> lastRawResponse = new AtomicReference<>();

Expand All @@ -48,15 +48,15 @@ public ApiClient() {
/**
* Méthode pour appeler l'API avec une requête GET.
*
* @param routeName
* @return
* @param routeName c'est le nom de la route à appeler.
* @return la réponse de l'API encapsulée dans un Mono<ApiResponse>.
*/
public Mono<ApiResponse<Void>> callAPIGet(String routeName) {
public Mono<ApiResponse> callAPIGet(String routeName) {
logger.INFO("Appel GET vers: " + routeName);
return webClient.get()
.uri(routeName)
.retrieve()
.bodyToMono(new ParameterizedTypeReference<ApiResponse<Void>>() {
.bodyToMono(new ParameterizedTypeReference<ApiResponse>() {
})
.subscribeOn(Schedulers.boundedElastic())
.doOnNext(lastResponse::set)
Expand All @@ -66,18 +66,18 @@ public Mono<ApiResponse<Void>> callAPIGet(String routeName) {
/**
* Méthode pour appeler l'API avec une requête POST.
*
* @param routeName
* @param routeName Nom de la route à appeler.
* @param body Corps de la requête (peut être null pour une requête sans
* corps).
* @return
* @return la réponse de l'API encapsulée dans un Mono<ApiResponse>.
*/
public Mono<ApiResponse<Void>> callAPIPost(String routeName, Map<String, Object> body) {
public Mono<ApiResponse> callAPIPost(String routeName, Map<String, Object> body) {
logger.INFO("Appel POST vers: " + routeName);
return webClient.post()
.uri(routeName)
.bodyValue(body != null ? body : Map.of())
.retrieve()
.bodyToMono(new ParameterizedTypeReference<ApiResponse<Void>>() {
.bodyToMono(new ParameterizedTypeReference<ApiResponse>() {
})
.subscribeOn(Schedulers.boundedElastic())
.doOnNext(lastResponse::set)
Expand All @@ -87,37 +87,37 @@ public Mono<ApiResponse<Void>> callAPIPost(String routeName, Map<String, Object>
/**
* Méthode pour appeler l'API avec une requête PUT
*
* @param routeName
* @param body
* @return
* @param routeName Nom de la route à appeler.
* @param body Corps de la requête (peut être null pour une requête sans corps).
* @return la réponse de l'API encapsulée dans un Mono<ApiResponse>.
*/
public Mono<ApiResponse<Void>> callAPIPut(String routeName, Map<String, Object> body) {
public Mono<ApiResponse> callAPIPut(String routeName, Map<String, Object> body) {
logger.INFO("Appel PUT vers: " + routeName);
return webClient.put()
.uri(routeName)
.bodyValue(body != null ? body : Map.of())
.retrieve()
.bodyToMono(new ParameterizedTypeReference<ApiResponse<Void>>() {
.bodyToMono(new ParameterizedTypeReference<ApiResponse>() {
})
.subscribeOn(Schedulers.boundedElastic())
.doOnNext(lastResponse::set)
.doOnError(error -> logger.ERROR("Erreur lors de l'appel PUT: " + error.getMessage()));
}

/**
* Méthode pour appeler l'API avec une reqête PATCH
* Méthode pour appeler l'API avec une requête PATCH
*
* @param routeName
* @param body
* @return
* @param routeName Nom de la route à appeler.
* @param body Corps de la requête (peut être null pour une requête sans corps).
* @return la réponse de l'API encapsulée dans un Mono<ApiResponse>.
*/
public Mono<ApiResponse<Void>> callAPIPatch(String routeName, Map<String, Object> body) {
public Mono<ApiResponse> callAPIPatch(String routeName, Map<String, Object> body) {
logger.INFO("Appel PATCH vers: " + routeName);
return webClient.patch()
.uri(routeName)
.bodyValue(body != null ? body : Map.of())
.retrieve()
.bodyToMono(new ParameterizedTypeReference<ApiResponse<Void>>() {
.bodyToMono(new ParameterizedTypeReference<ApiResponse>() {
})
.subscribeOn(Schedulers.boundedElastic())
.doOnNext(lastResponse::set)
Expand All @@ -127,15 +127,15 @@ public Mono<ApiResponse<Void>> callAPIPatch(String routeName, Map<String, Object
/**
* Méthode pour appeler l'API avec une requête DELETE
*
* @param routeName
* @return
* @param routeName Nom de la route à appeler.
* @return la réponse de l'API encapsulée dans un Mono<ApiResponse>.
*/
public Mono<ApiResponse<Void>> callAPIDelete(String routeName) {
public Mono<ApiResponse> callAPIDelete(String routeName) {
logger.INFO("Appel DELETE vers: " + routeName);
return webClient.delete()
.uri(routeName)
.retrieve()
.bodyToMono(new ParameterizedTypeReference<ApiResponse<Void>>() {
.bodyToMono(new ParameterizedTypeReference<ApiResponse>() {
})
.subscribeOn(Schedulers.boundedElastic())
.doOnNext(lastResponse::set)
Expand Down
28 changes: 13 additions & 15 deletions src/main/java/fr/sandro642/github/api/ApiResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,12 @@
* ApiResponse est une classe générique qui représente la réponse d'une API.
* Elle contient des informations sur l'état de la réponse, un message, un code
* de statut et des données spécifiques.
*
* @param <T> Le type de données contenues dans la réponse.
* @author Sandro642
* @version 1.0
* @since 1.0
*/

public class ApiResponse<T> {
public class ApiResponse {

/**
* Variables d'instance
Expand All @@ -34,10 +32,10 @@ public ApiResponse() {
/**
* Constructeur pour initialiser la réponse d'API avec des valeurs spécifiques.
*
* @param err
* @param msg
* @param code
* @param data
* @param err indique s'il y a une erreur dans la réponse.
* @param msg message d'erreur ou de succès.
* @param code code de statut de la réponse (par exemple, HTTP status code).
* @param data données spécifiques de la réponse, stockées dans une Map.
*/
public ApiResponse(boolean err, String msg, int code, Map<String, Object> data) {
this.err = err;
Expand All @@ -49,7 +47,7 @@ public ApiResponse(boolean err, String msg, int code, Map<String, Object> data)
/**
* Vérifie s'il y a une erreur dans la réponse.
*
* @return
* @return true si la réponse contient une erreur, false sinon.
*/
public boolean isErr() {
return err;
Expand All @@ -58,7 +56,7 @@ public boolean isErr() {
/**
* Définit si la réponse contient une erreur.
*
* @param err
* @param err indique s'il y a une erreur dans la réponse.
*/
public void setErr(boolean err) {
this.err = err;
Expand All @@ -67,7 +65,7 @@ public void setErr(boolean err) {
/**
* Récupère le message de la réponse.
*
* @return
* @return le message de la réponse, qui peut être un message d'erreur ou de
*/
public String getMsg() {
return msg;
Expand All @@ -76,7 +74,7 @@ public String getMsg() {
/**
* Définit le message de la réponse.
*
* @param msg
* @param msg le message de la réponse, qui peut être un message d'erreur ou de
*/
public void setMsg(String msg) {
this.msg = msg;
Expand All @@ -85,7 +83,7 @@ public void setMsg(String msg) {
/**
* Récupère le code de statut de la réponse.
*
* @return
* @return le code de statut de la réponse, par exemple un code HTTP.
*/
public int getCode() {
return code;
Expand All @@ -94,7 +92,7 @@ public int getCode() {
/**
* Définit le code de statut de la réponse.
*
* @param code
* @param code le code de statut de la réponse, par exemple un code HTTP.
*/
public void setCode(int code) {
this.code = code;
Expand All @@ -103,7 +101,7 @@ public void setCode(int code) {
/**
* Récupère les données de la réponse.
*
* @return
* @return une Map contenant les données spécifiques de la réponse.
*/
public Map<String, Object> getData() {
return data;
Expand All @@ -112,7 +110,7 @@ public Map<String, Object> getData() {
/**
* Définit les données de la réponse.
*
* @param data
* @param data une Map contenant les données spécifiques de la réponse.
*/
public void setData(Map<String, Object> data) {
this.data = data;
Expand Down
Loading
Loading