diff --git a/src/main/java/com/example/admin_server/config/AppConfig.java b/src/main/java/com/example/admin_server/config/AppConfig.java new file mode 100644 index 0000000..2f40a0d --- /dev/null +++ b/src/main/java/com/example/admin_server/config/AppConfig.java @@ -0,0 +1,21 @@ +package com.example.admin_server.config; + +import lombok.Data; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Data +@Component +public class AppConfig { + /** + * 环境 + */ + @Value("${spring.profiles.active}") + private String env; + + /** + * 环境名称 + */ + @Value("${app.env-name}") + private String envName; +} diff --git a/src/main/java/com/example/admin_server/controller/admin/AdminMainController.java b/src/main/java/com/example/admin_server/controller/admin/AdminMainController.java index 3957737..2fa6f84 100644 --- a/src/main/java/com/example/admin_server/controller/admin/AdminMainController.java +++ b/src/main/java/com/example/admin_server/controller/admin/AdminMainController.java @@ -1,7 +1,9 @@ package com.example.admin_server.controller.admin; +import com.example.admin_server.config.AppConfig; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -9,11 +11,14 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/admin") @Tag(name = "AdminMain") +@RequiredArgsConstructor public class AdminMainController { + private final AppConfig appConfig; + @GetMapping("/welcome") @Operation(summary = "Hello admin") - public String welcome(){ - return "Hello admin"; + public String welcome() { + return "Hello admin" + appConfig.getEnvName(); } } diff --git a/src/main/java/com/example/admin_server/controller/client/ClientMainController.java b/src/main/java/com/example/admin_server/controller/client/ClientMainController.java index dfd6ef2..e9864b1 100644 --- a/src/main/java/com/example/admin_server/controller/client/ClientMainController.java +++ b/src/main/java/com/example/admin_server/controller/client/ClientMainController.java @@ -1,7 +1,9 @@ package com.example.admin_server.controller.client; +import com.example.admin_server.config.AppConfig; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -9,11 +11,14 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/client") @Tag(name = "ClientMain") +@RequiredArgsConstructor public class ClientMainController { + private final AppConfig appConfig; + @GetMapping("/welcome") @Operation(summary = "Hello client") public String welcome(){ - return "Hello client"; + return "Hello client" + appConfig.getEnvName(); } } diff --git a/src/main/java/com/example/admin_server/controller/employee/EmployeeMainController.java b/src/main/java/com/example/admin_server/controller/employee/EmployeeMainController.java index f6a2336..70d9cdd 100644 --- a/src/main/java/com/example/admin_server/controller/employee/EmployeeMainController.java +++ b/src/main/java/com/example/admin_server/controller/employee/EmployeeMainController.java @@ -1,7 +1,9 @@ package com.example.admin_server.controller.employee; +import com.example.admin_server.config.AppConfig; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -9,11 +11,14 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/employee") @Tag(name = "EmployeeMain", description = "welcome") +@RequiredArgsConstructor public class EmployeeMainController { + private final AppConfig appConfig; + @GetMapping("/welcome") @Operation(summary = "Hello employee") public String welcome() { - return "Hello employee"; + return "Hello employee" + appConfig.getEnvName(); } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..7cc64d5 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,41 @@ +server: + port: 8080 + +# application.yml (公用配置) +spring: + application: + name: my-app + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + datasource: + url: jdbc:mysql://localhost:3306/admin_server?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai + username: admin_server + password: iyzHSPYE3DzEThsY + +app: + env-name: 'dev' + +springdoc: + swagger-ui: + path: /swagger-ui.html + tags-sorter: alpha + operations-sorter: alpha + api-docs: + path: /v3/api-docs + group-configs: + - group: '管理端' + paths-to-match: '/api/admin/**' + packages-to-scan: com.example.admin_server.controller.admin + - group: '客户端' + paths-to-match: '/api/client/**' + packages-to-scan: com.example.admin_server.controller.client + - group: '员工端' + paths-to-match: '/api/employee/**' + packages-to-scan: com.example.admin_server.controller.employee + +knife4j: + enable: true + setting: + language: zh_cn + diff --git a/src/main/resources/application-prop.yml b/src/main/resources/application-prop.yml new file mode 100644 index 0000000..2f08e6b --- /dev/null +++ b/src/main/resources/application-prop.yml @@ -0,0 +1,41 @@ +server: + port: 8080 + +# application.yml (公用配置) +spring: + application: + name: my-app + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + datasource: + url: jdbc:mysql://localhost:3306/admin_server?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai + username: admin_server + password: iyzHSPYE3DzEThsY + +app: + env-name: 'prop' + +springdoc: + swagger-ui: + path: /swagger-ui.html + tags-sorter: alpha + operations-sorter: alpha + api-docs: + path: /v3/api-docs + group-configs: + - group: '管理端' + paths-to-match: '/api/admin/**' + packages-to-scan: com.example.admin_server.controller.admin + - group: '客户端' + paths-to-match: '/api/client/**' + packages-to-scan: com.example.admin_server.controller.client + - group: '员工端' + paths-to-match: '/api/employee/**' + packages-to-scan: com.example.admin_server.controller.employee + +knife4j: + enable: true + setting: + language: zh_cn + diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml new file mode 100644 index 0000000..a7719b7 --- /dev/null +++ b/src/main/resources/application-test.yml @@ -0,0 +1,41 @@ +server: + port: 8080 + +# application.yml (公用配置) +spring: + application: + name: my-app + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + datasource: + url: jdbc:mysql://localhost:3306/admin_server?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai + username: admin_server + password: iyzHSPYE3DzEThsY + +app: + env-name: 'test' + +springdoc: + swagger-ui: + path: /swagger-ui.html + tags-sorter: alpha + operations-sorter: alpha + api-docs: + path: /v3/api-docs + group-configs: + - group: '管理端' + paths-to-match: '/api/admin/**' + packages-to-scan: com.example.admin_server.controller.admin + - group: '客户端' + paths-to-match: '/api/client/**' + packages-to-scan: com.example.admin_server.controller.client + - group: '员工端' + paths-to-match: '/api/employee/**' + packages-to-scan: com.example.admin_server.controller.employee + +knife4j: + enable: true + setting: + language: zh_cn + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 732f273..dabdf5e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,12 +1,25 @@ server: port: 8080 +# application.yml (公用配置) spring: + application: + name: my-app + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + # 指定当前激活环境 + profiles: + active: test datasource: url: jdbc:mysql://localhost:3306/admin_server?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai username: admin_server password: iyzHSPYE3DzEThsY +app: + env-name: 'dev' + + springdoc: swagger-ui: path: /swagger-ui.html