springboot统一结果封装实例
时间: 2023-06-28 22:15:59 浏览: 95
SpringBoot学习系列之MyBatis Plus整合封装的实例详解
好的,我可以为您提供一个Spring Boot统一结果封装的示例代码:
```
/**
* 统一结果封装类
*/
public class Result<T> {
private Integer code; // 状态码
private String message; // 提示信息
private T data; // 数据对象
public Result() {
}
public Result(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
// getter和setter方法省略
/**
* 成功时的调用
*/
public static <T> Result<T> success(T data) {
return new Result<>(200, "成功", data);
}
/**
* 成功时的调用,无返回数据
*/
public static <T> Result<T> success() {
return success(null);
}
/**
* 失败时的调用
*/
public static <T> Result<T> error(Integer code, String message) {
return new Result<>(code, message, null);
}
/**
* 失败时的调用,使用默认的失败信息
*/
public static <T> Result<T> error() {
return error(500, "服务器内部错误");
}
}
```
在Controller中,我们可以通过调用Result类的静态方法来封装返回结果:
```
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public Result<User> getUserById(@PathVariable("id") Integer id) {
User user = userService.getUserById(id);
if (user != null) {
return Result.success(user);
} else {
return Result.error(404, "用户不存在");
}
}
}
```
这样,无论成功还是失败,我们都可以得到一个统一封装的结果,方便前端进行处理。
阅读全文