public class Result<T> {
private int code;
private String message;
private T data;
public Result() {
}
public Result(int code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
@RestController
@RequestMapping("/api")
public class UserController {
@GetMapping("/user/{id}")
public Result<User> getUser(@PathVariable("id") String id) {
User user = userService.getUserById(id);
if (user != null) {
return new Result<>(200, "Success", user);
} else {
return new Result<>(404, "User not found", null);
}
}
// 其他接口的实现...
}
Result类使用了泛型T,以便可以承载不同类型的数据。code表示响应状态码,message表示响应消息,data表示响应数据。可以根据实际需要,进一步添加其他字段,如时间戳等。
此外,可以根据具体的业务需求,在Result类中添加更多的辅助方法,以方便对返回结果进行处理。例如,添加success和error等方法用于快速构建常见的成功和错误响应。