項目地址: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判斷權限
}
複製代碼