From 3b44def8aaf7b8ca758616d1002cc9484b29334e Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Sat, 10 Aug 2024 02:46:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=81=A5?= =?UTF-8?q?=E5=BA=B7=E6=A3=80=E6=9F=A5=E5=92=8C=E9=97=AE=E5=80=99=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=99=A8=20(#7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现新的健康检查端点和Hello控制器以响应GET和POST请求。健康检查返回"ok"或自定义响应,而Hello控制器返回带参数的问候信息。另外,引入了springdoc-openapi以增强API文档生成能力。 --- pom.xml | 5 ++++ .../sims/controller/HealthzController.java | 27 +++++++++++++++++++ .../sims/controller/HelloController.java | 13 +++++++++ 3 files changed, 45 insertions(+) create mode 100644 src/main/java/top/suyiiyii/sims/controller/HealthzController.java create mode 100644 src/main/java/top/suyiiyii/sims/controller/HelloController.java diff --git a/pom.xml b/pom.xml index e884319..caf0ebb 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,11 @@ spring-restdocs-mockmvc test + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.3.0 + diff --git a/src/main/java/top/suyiiyii/sims/controller/HealthzController.java b/src/main/java/top/suyiiyii/sims/controller/HealthzController.java new file mode 100644 index 0000000..e3724b2 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/controller/HealthzController.java @@ -0,0 +1,27 @@ +package top.suyiiyii.sims.controller; + +import lombok.AllArgsConstructor; +import lombok.Data; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HealthzController { + @GetMapping("/healthz") + public String healthz() { + return "ok"; + } + + @PostMapping("/healthz") + public HealthzResponse healthzPost() { + return new HealthzResponse("health"); + } + + @AllArgsConstructor + @Data + public static class HealthzResponse { + private String status; + } + +} diff --git a/src/main/java/top/suyiiyii/sims/controller/HelloController.java b/src/main/java/top/suyiiyii/sims/controller/HelloController.java new file mode 100644 index 0000000..d02ab56 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/controller/HelloController.java @@ -0,0 +1,13 @@ +package top.suyiiyii.sims.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HelloController { + + @GetMapping("/hello") + public String hello(String username) { + return "Hello " + username; + } +} From f23e9c2818cdce3a97c453d2c1f7b6131d83153f Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Sat, 10 Aug 2024 02:58:51 +0800 Subject: [PATCH 2/2] Create maven.yml (#8) * Create maven.yml * Update maven.yml * Update maven.yml --- .github/workflows/maven.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..6e02720 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,35 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Java CI with Maven + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package -DskipTests --file pom.xml + + # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive +# - name: Update dependency graph +# uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6