Bläddra i källkod

增加api配置信息

zhouhao 2 år sedan
förälder
incheckning
31299b2e28

+ 24 - 0
jetlinks-standalone/src/main/java/org/jetlinks/community/standalone/web/ApiInfoProperties.java

@@ -0,0 +1,24 @@
+package org.jetlinks.community.standalone.web;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@Getter
+@Setter
+@ConfigurationProperties(prefix = "api")
+@Component
+public class ApiInfoProperties {
+
+    @Schema(description = "api根路径")
+    private String basePath;
+
+    @Schema(description = "api地址信息")
+    private Map<String, String> urls = new ConcurrentHashMap<>();
+
+}

+ 12 - 0
jetlinks-standalone/src/main/java/org/jetlinks/community/standalone/web/SystemInfoController.java

@@ -1,20 +1,32 @@
 package org.jetlinks.community.standalone.web;
 
+import lombok.AllArgsConstructor;
 import org.hswebframework.web.authorization.annotation.Authorize;
 import org.jetlinks.community.Version;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Mono;
 
 @RequestMapping("/system")
 @RestController
+@AllArgsConstructor
 public class SystemInfoController {
 
+    private final ApiInfoProperties apiInfoProperties;
+
     @GetMapping("/version")
     @Authorize(ignore = true)
     public Mono<Version> getVersion() {
         return Mono.just(Version.current);
     }
 
+    @GetMapping("/apis")
+    @Authorize(ignore = true)
+    public Mono<ApiInfoProperties> getApis() {
+        return Mono.just(apiInfoProperties);
+    }
+
 }

+ 3 - 0
jetlinks-standalone/src/main/resources/application.yml

@@ -109,6 +109,9 @@ hsweb:
 file:
   manager:
     storage-base-path: ./data/files
+api:
+   # 访问api接口的根地址
+  base-path: http://127.0.0.1:${server.port}
 
 jetlinks:
   server-id: ${spring.application.name}:${server.port} #设备服务网关服务ID,不同服务请设置不同的ID