项目地址:github.com/ocubexo/spr…html
项目已更新至2.0.0 Beta 查看更新内容java
这是一个基于SpringBoot 2.1.1 RELEASE,用于搭建RESTful API工程的脚手架,只需三分钟你就能够开始编写业务代码,再也不烦恼于构建项目与风格统一。git
/src/test
下的CodeGenerator.java
进行代码生成1.成功且不带数据的结果github
// 不带数据的成功结果
return new Result().success();
复制代码
返回结果示例:spring
{
"code": 200,
"message": "Success",
"data": null
}
复制代码
2.成功且带返回数据的结果数据库
return new Result().success("Hello,world");
// 固然你也能够返回对象或其余类型的数据
User user = new User();
return new Result().success(user);
复制代码
返回结果示例:json
{
"code": 200,
"message": "Success",
"data": "Hello,world"
}
复制代码
或者是:springboot
{
"code": 200,
"message": "Success",
"data": {
"name": "jack",
"age": 20
}
}
复制代码
3.错误结果:服务器
// fail方法的参数(错误代码,错误信息)
return new Result().fail(10400, "登录失败,密码错误");
// 你还能够自定义错误结果的code
return new Result().fail(null, "未登陆", 401);
复制代码
返回结果示例:restful
{
"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, @RequestBody sthPosted) {
// 根据ID判断权限
}
复制代码