diff --git a/src/main/java/com/aida/gateway/common/response/Response.java b/src/main/java/com/aida/gateway/common/response/Response.java new file mode 100644 index 0000000..66e5797 --- /dev/null +++ b/src/main/java/com/aida/gateway/common/response/Response.java @@ -0,0 +1,84 @@ +package com.aida.gateway.common.response; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @ClassName Response + * @Description success代表响应成功 fail代表主动响应失败 error代表系统异常 + * @Author dwjian + * @Date 2019/9/8 21:48 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Schema(description = "响应结果") +public class Response implements Serializable { + + @Schema(description = "响应状态码 0:成功 -1:失败") + private int errCode; + @Schema(description = "提示消息") + private String errMsg; + @Schema(description = "数据结果") + private T data; + + public static Response success() { + return success(ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMsg(), null); + } + + public static Response success(T data) { + return success(ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMsg(), data); + } + + public static Response success(int code, T data) { + return success(code, ResultEnum.SUCCESS.getMsg(), data); + } + + public static Response success(int code, String msg, T data) { + return getResponse(code, msg, data); + } + + public static Response fail(String msg) { + return fail(ResultEnum.FAIL.getCode(), msg); + } + + public static Response fail(T data) { + return fail(ResultEnum.FAIL.getCode(), ResultEnum.FAIL.getMsg(), data); + } + + public static Response fail(ResultEnum resultEnum) { + return fail(resultEnum.getCode(), resultEnum.getMsg(), null); + } + + public static Response fail(int code, String msg) { + return fail(code, msg, null); + } + + public static Response fail(int code, String msg, T data) { + return getResponse(code, msg, data); + } + + public static Response error(String msg) { + return error(ResultEnum.ERROR.getCode(), msg); + } + + public static Response error(T data) { + return error(ResultEnum.ERROR.getCode(), ResultEnum.ERROR.getMsg(), data); + } + + public static Response error(int code, String msg) { + return error(code, msg, null); + } + + public static Response error(int code, String msg, T data) { + return getResponse(code, msg, data); + } + + private static Response getResponse(int code, String msg, T data) { + return new Response<>(code, msg, data); + } +} diff --git a/src/main/java/com/aida/gateway/common/response/ResultEnum.java b/src/main/java/com/aida/gateway/common/response/ResultEnum.java new file mode 100644 index 0000000..9a7984d --- /dev/null +++ b/src/main/java/com/aida/gateway/common/response/ResultEnum.java @@ -0,0 +1,26 @@ +package com.aida.gateway.common.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @ClassName ResultEnum + * @Description 响应状态码枚举 + * @Author dwjian + * @Date 2019/9/8 21:48 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public enum ResultEnum implements Serializable { + + SUCCESS(0, "操作成功"), + FAIL(-1, "操作失败"), + ERROR(500, "系统异常"); + + private int code; + private String msg; +} diff --git a/src/main/java/com/aida/gateway/controller/HealthController.java b/src/main/java/com/aida/gateway/controller/HealthController.java new file mode 100644 index 0000000..6dcbf34 --- /dev/null +++ b/src/main/java/com/aida/gateway/controller/HealthController.java @@ -0,0 +1,28 @@ +package com.aida.gateway.controller; + +import com.aida.gateway.common.response.Response; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@Tag(name = "Gateway健康检查") +@RestController +@RequestMapping("/gateway") +public class HealthController { + + @Operation(summary = "网关状态检测") + @GetMapping("/healthy") + @ResponseStatus(HttpStatus.OK) + public Response> checkStatus() { + Map returnMap = new HashMap<>(); + returnMap.put("code", 200); + return Response.success(returnMap); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b8f12d5..8a8856a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -83,6 +83,7 @@ gateway: - /aida/api/account/organizationNameSearch - /aida/api/account/activateNewEmail - /aida/api/account/healthy + - /gateway/healthy # Designer - /aida/api/designer/check # Python (only /aida prefix)