麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

SpringBoot2.1 RESTful API項目腳手架(種子)項目

2024-07-14 08:43:08
字體:
來源:轉載
供稿:網友

最近在做一個大型的J2EE項目,后端語言選擇了Java,理所當然的選擇了Spring,使用Spring MVC來做restful風格的api開發很是方便,Spring下面有很多子項目通過Springboot集成也很舒服。程序員都知道溝通很重要,實際項目中,往往是各自為戰,盡管使用的是相同的框架、工具,編寫的代碼卻千差萬別,為了統一基礎代碼風格,編寫了這個項目種子。

除此之外,在開發一個Web后端api項目時,通常都會經歷搭建項目、選擇依賴管理工具、引入基礎包依賴、配置框架等,為了加快項目的開發進度(早點下班)還需要封裝一些常用的類和工具,如標準的響應結構體封裝、統一異常處理切面、接口簽名認證、初始化運行方法、輪詢方法、api版本控制封裝、異步方法配置等。

每次開始一個類型的新項目,以上這些步驟又要重復一遍,雖然能夠將老項目拿過來刪刪減減達到目的,但還是很費時費力,還容易出問題。所以,可以利用面向對象的思想,抽取這類Web后端api項目的共同之處封裝成一個項目種子。以后再開發類似的項目,就能直接在這個項目種子上迭代,減少重復勞動。

項目地址:https://github.com/ocubexo/springboot-restful-starter

簡介

這是一個基于SpringBoot 2.1.1 RELEASE,用于搭建RESTful API工程的腳手架,只需三分鐘你就可以開始編寫業務代碼,不再煩惱于構建項目與風格統一。

快速開始

  1. 構建數據庫
  2. 運行/src/test下的CodeGenerator.java進行代碼生成
  3. 開始編寫業務代碼

內置功能與使用方法

RESTful風格Result生成器

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, "登陸失敗,密碼錯誤");// 你還可以自定義錯誤結果的codereturn new Result().fail(null, "未登錄", 401);

返回結果示例:

{  "code": 400,  "message": "登陸失敗,密碼錯誤",  "data": 10400}

或者:

{  "code": 401,  "message": "未登錄",  "data": null}

RESTful風格的異常接管

// 參數說明(錯誤信息, 錯誤Code)throw new ServiceException("未登錄", 401);// 你也可以返回錯誤代碼throw new ServiceException(10404, "服務器維護中", 404);

返回結果示例:

{  "code": 401,  "message": "未登錄",  "data": null}

或者:

{  "code": 404,  "message": "服務器維護中",  "data": 10404}

基于JWT的認證機制

@Autowiredprivate TokenService tokenService;// 生成PayloadMap<String,Object> payload = new HashMap<String,Object>();payload.put("id",1);// 生成TokentokenService.generate(TokenType.ACCESS, payload, 1);// 格式化TokenString token = getYourToken();tokenService.parse(token); // 返回的結果是一個Jwt對象,詳見JJWT文檔Auth注解Auth注解用于獲取當前用戶的Token中的userId,在獲取的同時會自動校驗用戶Token,若用戶未登錄則會拋出未登錄的異常。// 在controller中使用@PostMapping("/user/1/edit")public Result edit(@Auth int userId, @ResponseBody sthPosted) {  // 根據ID判斷權限}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕国 | 欧美成年性h版影视中文字幕 | 精品国产一区二区三区四区在线 | 高颜值美女啪啪 | 国产免费一级淫片a级中文 99国产精品自拍 | 欧美一级高潮 | 欧美a在线 | 免费毛片在线视频 | 精品在线观看一区二区三区 | 九九热这里只有精品8 | 精品国产一区二区三区四区阿崩 | 国产精品视频不卡 | 亚洲男人的天堂在线视频 | 九九热精 | 日韩字幕在线观看 | 久久草在线视频免费 | 欧美日韩亚洲国产精品 | 久久蜜桃精品一区二区三区综合网 | 久色乳综合思思在线视频 | 成人啪啪色婷婷久 | 精品一区二区三区在线观看国产 | 久久久看 | 97干色| 国产一级性生活视频 | 91精品国产综合久久婷婷香蕉 | 国产亚洲精品成人a | 国产在线精品一区二区三区 | 欧美成人性生活 | 国产一级毛片国产 | 亚洲午夜在线视频 | 视频一区二区久久 | 噜噜在线视频 | 香蕉黄色网 | 操你逼| 欧美性色生活片免费播放 | 一级大黄毛片免费观看 | 国产成人在线网站 | 亚洲午夜天堂吃瓜在线 | 黄色久| 午夜视频亚洲 | 欧美精品a∨在线观看不卡 午夜精品影院 |