第一步:创建Result类,定义成功,失败及异常方法 ,使用@Data注解可以不用定义get和set方法。
@Data
public class Result<T> {
private int code;
private String message;
private T data;
// 构造方法、getter 和 setter 省略...
public static <T> Result<T> success(T data) {
Result<T> result = new Result<>();
result.setCode(200);
result.setMessage("成功");
result.setData(data);
return result;
}
public static <T> Result<T> failure(T data) {
Result<T> result = new Result<>();
result.setCode(500);
result.setMessage("失败");
result.setData(data);
return result;
}
public static <T> Result<T> Excep(T data,String ex) {
Result<T> result = new Result<>();
result.setCode(500);
result.setMessage(ex);
result.setData(data);
return result;
}
}
第二步:编写controller层的方法
@RestController
@RequestMapping("/select")
public class UserController {
@Autowired
private UserImpl userimpl;
@GetMapping ("/{id}")
public Result<User> selectById(@PathVariable("id") String id){
try {
User user = userimpl.selectById(id);
boolean result = user != null ? true :false;
if (result){
return Result.success(user);
}else {
return Result.failure(null);
}
} catch (Exception e) {
return Result.Excep(null,e.getMessage());
}
}
}