1. RESTful風格
1.1 簡介與特點
RESTful是一種網路應用程式的設計風格和開發方式,基于HTTP,可以使用XML格式定義或JSON格式定義,RESTful適用于移動互聯網廠商作為業務使能介面的場景,實作第三方OTT呼叫移動網路資源的功能,動作型別為新增、變更、洗掉所呼叫資源,
RESTful特點包括:
1、每一個URI代表1種資源;
2、客戶端使用GET、POST、PUT、DELETE4個表示操作方式的動詞對服務端資源進行操作:GET用來獲取資源,POST用來新建資源 (也可以用于更新資源),PUT用來更新資源,DELETE用來洗掉資源(PATCH則比較少用到);
3、通過操作資源的表現形式來操作資源;
4、資源的表現形式是XML或者HTML;
5、客戶端與服務端之間的互動在請求之間是無狀態的,從客戶端到服務端的每個請求都必須包含理解請求所必需的資訊,
1.2 RESTful架構
RESTful架構是對MVC架構改進后所形成的一種架構,通過使用事先定義好的介面與不同的服務聯系起來,在RESTful架構中,瀏覽器使用POST,DELETE,PUT和GET四種請求方式分別對指定的URL資源進行增刪改查操作,因此,RESTful是通過URI實作對資源的管理及訪問,具有擴展性強、結構清晰的特點,
RESTful架構將服務器分成前端服務器和后端服務器兩部分,前端服務器為用戶提供無模型的視圖;后端服務器為前端服務器提供介面,瀏覽器向前端服務器請求視圖,通過視圖中包含的AJAX函式發起介面請求獲取模型,
專案開發引入RESTful架構,利于團隊并行開發,在RESTful架構中,將多數HTTP請求轉移到前端服務器上,降低服務器的負荷,使視圖獲取后端模型失敗也能呈現,但RESTful架構卻不適用于所有的專案,當專案比較小時無需使用RESTful架構,專案變得更加復雜,所以要根據專案的實際情況評估是否使用RESTful架構,在如今這種架構也是越來越流行的,接下來帶領大家展示一下RESTful風格的呼叫,
2 RESTful開發
2.1 常見的RESTful風格呼叫
-
GET:請求從服務器獲取特定資源,舉個例子:GET /student(獲取所有學生),/** * GET :請求從服務器獲取特定資源,舉個例子:GET /student(獲取所有學生) * @return List<Student> */ @GetMapping("/student") public List<Student> student() { return studentService.findAll(); } -
GET:請求從服務器獲取特定資源,舉個例子:GET /student/1(獲取id為1學生),/** * GET :請求從服務器獲取特定資源,舉個例子:GET /student/1(獲取id為1學生) * @param id * @return Student */ @GetMapping("/student/{id}") public Student student(@PathVariable("id") Long id) { return studentService.findOne(id); } -
POST:在服務器上創建一個新的資源,舉個例子:POST /student(添加學生),/** * POST :在服務器上創建一個新的資源,舉個例子:POST /student(添加學生) * @param student */ @PostMapping("/student") public void student(@RequestBody Student student) { studentService.add(student); } -
PUT:更新服務器上的資源(客戶端提供更新后的資源),舉個例子:PUT /student/1(更新學號為 1 的學生的所有資訊),/** * PUT :更新服務器上的資源(客戶端提供更新后的資源),舉個例子:PUT /student/1(更新學號為 1 的學生的所有資訊) * @param id */ @PutMapping("/student/{id}") public void updateById(@PathVariable("id") Long id, Student student) { studentService.updateAll(id,student); } -
DELETE:從服務器洗掉特定的資源,舉個例子:DELETE /student/1(洗掉學號為 1 的學生),/** * DELETE :從服務器洗掉特定的資源,舉個例子:DELETE /student/1(洗掉學號為 1 的學生) * @param id */ @DeleteMapping("/student/{id}") public void deleteById(@PathVariable("id") Long id) { studentService.delete(id); }常用的主要就是這些請求方式,其他的請求方式都用的非常的少,但是我在代碼里也有寫,有興趣的可以去我的Github看看代碼,Github連接地址在博客的末尾,
3. 專案地址
本專案傳送門:
- GitHub ---> spring-boot-RESTful
- Gitee ---> spring-boot-RESTful
此教程會一直更新下去,覺得博主寫的可以的話,關注一下,也可以更方便下次來學習,
- 作者:Butterfly-Tri
- 出處:Butterfly-Tri個人博客
- 著作權所有,歡迎保留原文鏈接進行轉載??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184104.html
標籤:Java
