这是一个基于SpringBoot 2.1.1 RELEASE,用于搭建RESTful API工程的脚手架,只需三分钟你就可以开始编写业务代码,不再烦恼于构建项目与风格统一。
/src/test
下的 CodeGenerator.java
进行代码生成 1.成功且不带数据的结果
// 不带数据的成功结果 return new Result().success(); 复制代码
返回结果示例:
{ "code": 200, "message": "Success", "data": null } 复制代码
2.成功且带返回数据的结果
return new Result().success("Hello,world"); // 当然你也可以返回对象或其他类型的数据 User user = new User(); return new Result().success(user); 复制代码
返回结果示例:
{ "code": 200, "message": "Success", "data": "Hello,world" } 复制代码
或者是:
{ "code": 200, "message": "Success", "data": { "name": "jack", "age": 20 } } 复制代码
3.错误结果:
// fail方法的参数(错误代码,错误信息) return new Result().fail(10400, "登陆失败,密码错误"); // 你还可以自定义错误结果的code return new Result().fail(null, "未登录", 401); 复制代码
返回结果示例:
{ "code": 400, "message": "登陆失败,密码错误", "data": 10400 } 复制代码
或者:
{ "code": 401, "message": "未登录", "data": null } 复制代码
// 参数说明(错误信息, 错误Code) throw new ServiceException("未登录", 401); // 你也可以返回错误代码 throw new ServiceException(10404, "服务器维护中", 404); 复制代码
返回结果示例:
{ "code": 401, "message": "未登录", "data": null } 复制代码
或者:
{ "code": 404, "message": "服务器维护中", "data": 10404 } 复制代码
@Autowired private TokenService tokenService; // 生成Payload Map<String,Object> payload = new HashMap<String,Object>(); payload.put("id",1); // 生成Token tokenService.generate(TokenType.ACCESS, payload, 1); // 格式化Token String token = getYourToken(); tokenService.parse(token); // 返回的结果是一个Jwt对象,详见JJWT文档 复制代码
Auth注解用于获取当前用户的Token中的userId,在获取的同时会自动校验用户Token,若用户未登录则会抛出未登录的异常。
// 在controller中使用 @PostMapping("/user/1/edit") public Result edit(@Auth int userId, @ResponseBody sthPosted) { // 根据ID判断权限 } 复制代码