diff --git a/org_ccalm_weather.yml b/org_ccalm_weather.yml
index 477f717..d157b18 100644
--- a/org_ccalm_weather.yml
+++ b/org_ccalm_weather.yml
@@ -1,5 +1,5 @@
server:
- port: 8081
+ port: 8083
ssl:
key-store: classpath:keystore.jks
key-store-password: QyKtWPZB
@@ -11,7 +11,7 @@ server:
spring:
application:
- name: kz_ccalm_weather
+ name: org_ccalm_weather
cache:
type: none
diff --git a/pom.xml b/pom.xml
index 27accc2..a68733f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,10 +45,15 @@
logstash-logback-encoder
6.6
-
+
+
+ org.json
+ json
+ 20240303
@@ -90,6 +95,8 @@
provided
+
+
diff --git a/src/main/java/org/ccalm/weather/MainController.java b/src/main/java/org/ccalm/weather/MainController.java
index e446456..87ebca7 100644
--- a/src/main/java/org/ccalm/weather/MainController.java
+++ b/src/main/java/org/ccalm/weather/MainController.java
@@ -1,5 +1,8 @@
package org.ccalm.weather;
+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.CrossOrigin;
@@ -8,17 +11,66 @@ 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 org.json.JSONObject;
+import org.json.JSONException;
import java.io.InputStream;
import java.util.Properties;
+import java.util.Set;
+import java.util.stream.Collectors;
@Controller
public class MainController {
-
+
+ @Value("${spring.application.name}")
+ String application_name = "";
+
@CrossOrigin
- @GetMapping("/")
+ @RequestMapping(value = "/",method = {RequestMethod.POST,RequestMethod.GET},produces = "application/json;charset=utf-8")
@ResponseBody
- public String getIndex(Model model) {
+ public ResponseEntity getIndex(Model model) {
+ JSONObject json = new JSONObject();
+ 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());
+
+/*
String buildDate="";
//String buildVersion="";
try {
@@ -38,6 +90,7 @@ public class MainController {
The weather list is working!
/geodatalist
""";
return result;
+ */
}
@CrossOrigin
diff --git a/src/main/java/org/ccalm/weather/SpringContext.java b/src/main/java/org/ccalm/weather/SpringContext.java
new file mode 100644
index 0000000..69864c5
--- /dev/null
+++ b/src/main/java/org/ccalm/weather/SpringContext.java
@@ -0,0 +1,19 @@
+package org.ccalm.weather;
+
+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;
+ }
+}