Appearance
创建common包,定义一个枚举类:
package com.mincheng.organization.common; import lombok.Getter; @Getter public enum ResultCode {
SUCCESS(true),
FAIL(false, 500, " 服务器出错
"),
/* 参数错误:1000 - 1999 */
/* 用户错误:2000 - 2999 */
/* 接口异常:
3000 - 3999 */;
private Boolean success;
private Integer errorCode;
private String errorMessage;
ResultCode(Boolean success) {
this.success = success; }
ResultCode(Boolean success, Integer errorCode, String errorMessage) {
this.success = success;
this.errorCode = errorCode;
this.errorMessage = errorMessage;
} } 定义apiResult返回类:
package com.mincheng.organization.common; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import java.io.Serializable; @Slf4j @Getter @Setter public class ApiResult<T> implements Serializable {
private static final long serialVersionUID = 5469544233990086588L;
protected Boolean success;
protected T result;
protected Integer errorCode;
protected String errorMessage;
public ApiResult() { }
public ApiResult(Boolean success, T data) {
this.success = success;
this.result = data; }
public ApiResult(Boolean success, Integer errorCode, String errorMessage) {
this.success = success;
this.errorCode = errorCode;
this.errorMessage = errorMessage;
this.result = null; }
public static <T> ApiResult success(ResultCode resultCode, T data) {
return new ApiResult(resultCode.getSuccess(), data); }
public static <T> ApiResult fail(ResultCode resultCode) {
return new ApiResult(resultCode.getSuccess(), resultCode.getErrorCode(), resultCode.getErrorMessage());
} } 修改controller类,进行一层包装;
import com.mincheng.organization.service.department.DepartmentService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController @RequestMapping(value = "/department") @Tag(name = "department", description = " 部门表
") public class DepartmentController {
@Resource
private DepartmentService departmentService;
@PostMapping(value = "/list")
@Operation(method = "post", description = " 列表
")
public ApiResult<Department> list(@RequestBody Department department) {
return ApiResult.success(ResultCode.SUCCESS, departmentService.list(department)); }
@GetMapping(value = "/detail")
@Operation(method = "get", description = " 详情
")
public ApiResult<Department> detail(@RequestParam String id) {
return ApiResult.success(ResultCode.SUCCESS, departmentService.detail(id));
} }
