diff --git a/src/main/java/fr/titionfire/ffsaf/rest/AssoEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/AssoEndpoints.java index c81b955..321a9c1 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/AssoEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/AssoEndpoints.java @@ -23,6 +23,8 @@ public class AssoEndpoints { return stateIdService.get_status(stateId).onFailure().transform(throwable -> { if (throwable instanceof WebApplicationException exception) { if (exception.getResponse().getStatus() == 404) + return new DNotFoundException("Service momentanément indisponible"); + if (exception.getResponse().getStatus() == 400) return new DNotFoundException("Asso introuvable"); } return throwable; diff --git a/src/main/java/fr/titionfire/ffsaf/rest/client/StateIdService.java b/src/main/java/fr/titionfire/ffsaf/rest/client/StateIdService.java index 9d03809..e13c190 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/client/StateIdService.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/client/StateIdService.java @@ -1,6 +1,7 @@ package fr.titionfire.ffsaf.rest.client; import fr.titionfire.ffsaf.rest.data.AssoData; +import io.quarkus.cache.CacheResult; import io.smallrye.mutiny.Uni; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; @@ -13,5 +14,6 @@ public interface StateIdService { @GET @Path("/structure/{id}") + @CacheResult(cacheName = "AssoData_status") Uni get_status(@PathParam("id") String id); }