提交 353782a9 作者: 方治民

feat: 新增快速失败业务异常实现及示例, 新增默认的用户主页地址

上级 4bd03404
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
package com.yiring.app.config; package com.yiring.app.config;
import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotLoginException;
import com.yiring.app.constant.Code;
import com.yiring.app.exception.CodeException;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.core.Status; import com.yiring.common.core.Status;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -76,7 +78,7 @@ public class GlobalExceptionHandler { ...@@ -76,7 +78,7 @@ public class GlobalExceptionHandler {
* @return 异常信息反馈 {@link Status#UNAUTHORIZED * @return 异常信息反馈 {@link Status#UNAUTHORIZED
*/ */
@ExceptionHandler(value = NotLoginException.class) @ExceptionHandler(value = NotLoginException.class)
public Result<String> notLoginErrorHandler(Exception e) { public Result<String> notLoginErrorHandler() {
return Result.no(Status.UNAUTHORIZED); return Result.no(Status.UNAUTHORIZED);
} }
...@@ -87,6 +89,15 @@ public class GlobalExceptionHandler { ...@@ -87,6 +89,15 @@ public class GlobalExceptionHandler {
public void clientAbortExceptionHandler() {} public void clientAbortExceptionHandler() {}
/** /**
* 自定义业务异常
*/
@ExceptionHandler(value = CodeException.class)
public Result<String> customCodeExceptionHandler(CodeException e) {
Code code = e.getCode();
return Result.no(Status.BAD_REQUEST, code.value(), code.reason(), null);
}
/**
* 其他异常 * 其他异常
* *
* @param e 异常信息 * @param e 异常信息
......
...@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModel; ...@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModel;
/** /**
* 业务状态码 * 业务状态码
* eg: <code>Result.no(Status.BAD_REQUEST, Code.SUCCESS.value(), Code.SUCCESS.reason())</code> * eg: <code>throw new CodeException(Code.FAIL)</code>
* *
* @author Jim * @author Jim
* @version 0.1 * @version 0.1
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.exception;
import com.yiring.app.constant.Code;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 业务状态异常
*
* @author Jim
* @version 0.1
* 2022/3/28 11:36
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class CodeException extends RuntimeException {
private static final long serialVersionUID = -4226669531686389671L;
/**
* 业务状态
*/
Code code;
}
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
package com.yiring.app.web; package com.yiring.app.web;
import com.yiring.app.constant.Code; import com.yiring.app.constant.Code;
import com.yiring.app.exception.CodeException;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
...@@ -34,7 +35,7 @@ public class HelloController { ...@@ -34,7 +35,7 @@ public class HelloController {
*/ */
@GetMapping("fail") @GetMapping("fail")
public Result<String> fail() { public Result<String> fail() {
return Result.no(Code.FAIL.value(), Code.FAIL.reason()); throw new CodeException(Code.FAIL);
} }
@GetMapping("page") @GetMapping("page")
......
...@@ -72,6 +72,8 @@ public class UserController { ...@@ -72,6 +72,8 @@ public class UserController {
.title(user.getTitle()) .title(user.getTitle())
.roles(Permissions.toRoleVos(user.getRoles())) .roles(Permissions.toRoleVos(user.getRoles()))
.permissions(Permissions.toTree(Permissions.toPermissions(user.getRoles()), 0L)) .permissions(Permissions.toTree(Permissions.toPermissions(user.getRoles()), 0L))
// 默认跳转到用户看板
.homePath("/dashboard/workbench")
.build(); .build();
return Result.ok(userInfoVo); return Result.ok(userInfoVo);
} }
......
...@@ -139,16 +139,6 @@ public class Result<T extends Serializable> implements Serializable { ...@@ -139,16 +139,6 @@ public class Result<T extends Serializable> implements Serializable {
* @return Result * @return Result
* @see Status * @see Status
*/ */
public static <T extends Serializable> Result<T> no(Integer code, String details) {
return no(Status.BAD_REQUEST, code, details, null);
}
/**
* 返回失败响应内容
*
* @return Result
* @see Status
*/
public static <T extends Serializable> Result<T> no(Status status, Integer code, String details, Throwable error) { public static <T extends Serializable> Result<T> no(Status status, Integer code, String details, Throwable error) {
Result<T> result = (Result<T>) Result Result<T> result = (Result<T>) Result
.builder() .builder()
......
...@@ -38,7 +38,7 @@ public class MinioController { ...@@ -38,7 +38,7 @@ public class MinioController {
/** /**
* minio 上传文件,成功返回文件 url * minio 上传文件,成功返回文件 url
*/ */
@ApiOperation(value = "文件上传", tags = "upload") @ApiOperation(value = "文件上传")
@PostMapping(value = "upload", headers = "Content-Type=Multipart/Form-Data") @PostMapping(value = "upload", headers = "Content-Type=Multipart/Form-Data")
public Result<String> upload(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file) { public Result<String> upload(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file) {
try { try {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论