diff --git a/pom.xml b/pom.xml
index 46dd2cd..d12b9ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.3.3
+ 3.4.2
org.ccalm
@@ -33,23 +33,19 @@
org.springframework.boot
spring-boot-starter-web
- 3.3.3
org.springframework.boot
spring-boot-starter-data-redis
- 3.3.3
org.springframework.boot
spring-boot-starter-test
- 3.3.3
test
org.springframework.boot
spring-boot-starter-jdbc
- 3.3.3
org.postgresql
@@ -75,7 +71,7 @@
org.xerial
sqlite-jdbc
- 3.36.0.1
+ 3.41.2.2
com.zaxxer
@@ -111,6 +107,13 @@
org.springframework.boot
spring-boot-maven-plugin
+
+
+
+ build-info
+
+
+
org.apache.maven.plugins
diff --git a/src/main/java/org/ccalm/dbms/MainController.java b/src/main/java/org/ccalm/dbms/MainController.java
index 883a71c..d479894 100644
--- a/src/main/java/org/ccalm/dbms/MainController.java
+++ b/src/main/java/org/ccalm/dbms/MainController.java
@@ -1,15 +1,24 @@
package org.ccalm.dbms;
import com.zaxxer.hikari.HikariDataSource;
+import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.ApplicationContext;
+import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
+
+import java.io.InputStream;
+import java.util.Properties;
+import java.util.Set;
+import java.util.stream.Collectors;
@Controller
public class MainController {
@@ -26,13 +35,46 @@ public class MainController {
@RequestMapping(value = "/",method = {RequestMethod.POST,RequestMethod.GET},produces = "application/json;charset=utf-8")
@ResponseBody
- public String index(Model model, @RequestParam(required=false,name="lng",defaultValue = "1") String language_id) {
+ public ResponseEntity index() {
JSONObject json = new JSONObject();
- json.put("error_code",0);
- json.put("error_message","Application name: "+application_name);
- //json.put("active_connections",dataSource.getHikariPoolMXBean().getActiveConnections());
- //json.put("idle_connections",dataSource.getHikariPoolMXBean().getIdleConnections());
- return json.toString();
+ try {
+ json.put("error_code",0);
+ json.put("error_message","");
+ json.put("error_marker",(String)null);
+ String buildDate="";
+ //String buildVersion="";
+ try {
+ InputStream inputStream = MainController.class.getClassLoader().getResourceAsStream("META-INF/build-info.properties");
+ if (inputStream != null) {
+ Properties properties = new Properties();
+ properties.load(inputStream);
+ buildDate = properties.getProperty("build.time");
+ //buildVersion = properties.getProperty("build.version");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ json.put("build_date",buildDate);
+ //json.put("build_version",buildVersion);
+ json.put("name",application_name);
+ //json.put("active_connections",dataSource.getHikariPoolMXBean().getActiveConnections());
+ //json.put("idle_connections",dataSource.getHikariPoolMXBean().getIdleConnections());
+
+ // Вывод всех зарегистрированных маршрутов в системе
+ ApplicationContext context = SpringContext.getApplicationContext();
+ if (context != null) {
+ RequestMappingHandlerMapping mapping = context.getBean(RequestMappingHandlerMapping.class);
+ Set endpoints = mapping.getHandlerMethods().keySet().stream()
+ .map(info -> info.toString())
+ .collect(Collectors.toSet());
+ System.out.println("=== Registered API endpoints ===");
+ endpoints.forEach(System.out::println);
+ }
+
+ } catch (JSONException e) {
+ throw new RuntimeException(e);
+ }
+ return ResponseEntity.ok(json.toString());
}
}
diff --git a/src/main/java/org/ccalm/dbms/SpringContext.java b/src/main/java/org/ccalm/dbms/SpringContext.java
new file mode 100644
index 0000000..5b2e491
--- /dev/null
+++ b/src/main/java/org/ccalm/dbms/SpringContext.java
@@ -0,0 +1,19 @@
+package org.ccalm.dbms;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SpringContext implements ApplicationContextAware {
+ private static ApplicationContext context;
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) {
+ context = applicationContext;
+ }
+
+ public static ApplicationContext getApplicationContext() {
+ return context;
+ }
+}