From ee9777132ae454637ee0c0f77fd1bd8430635794 Mon Sep 17 00:00:00 2001 From: Gato Date: Mon, 25 May 2026 07:06:59 +0200 Subject: [PATCH] ajout api version --- build.gradle | 4 ++++ .../api/adapter/in/web/VersionController.java | 24 +++++++++++++++++++ .../fr/bonsai/api/config/SecurityConfig.java | 1 + 3 files changed, 29 insertions(+) create mode 100644 src/main/java/fr/bonsai/api/adapter/in/web/VersionController.java diff --git a/build.gradle b/build.gradle index 2fe3242..e499611 100644 --- a/build.gradle +++ b/build.gradle @@ -36,3 +36,7 @@ dependencies { tasks.named('test') { useJUnitPlatform() } + +springBoot { + buildInfo() +} diff --git a/src/main/java/fr/bonsai/api/adapter/in/web/VersionController.java b/src/main/java/fr/bonsai/api/adapter/in/web/VersionController.java new file mode 100644 index 0000000..2b4ceab --- /dev/null +++ b/src/main/java/fr/bonsai/api/adapter/in/web/VersionController.java @@ -0,0 +1,24 @@ +package fr.bonsai.api.adapter.in.web; + +import org.springframework.boot.info.BuildProperties; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/version") +public class VersionController { + + private final BuildProperties buildProperties; + + public VersionController(BuildProperties buildProperties) { + this.buildProperties = buildProperties; + } + + @GetMapping + public VersionResponse get() { + return new VersionResponse(buildProperties.getVersion()); + } + + public record VersionResponse(String version) {} +} diff --git a/src/main/java/fr/bonsai/api/config/SecurityConfig.java b/src/main/java/fr/bonsai/api/config/SecurityConfig.java index 0221ad3..f0d5525 100644 --- a/src/main/java/fr/bonsai/api/config/SecurityConfig.java +++ b/src/main/java/fr/bonsai/api/config/SecurityConfig.java @@ -22,6 +22,7 @@ public class SecurityConfig { session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .authorizeHttpRequests(auth -> auth .requestMatchers(HttpMethod.OPTIONS, "/**").permitAll() + .requestMatchers(HttpMethod.GET, "/version").permitAll() .anyRequest().authenticated() ) .oauth2ResourceServer(oauth2 -> oauth2