RESTFUL是一種網絡應用程序的設計風格和開發方式,基於HTTP,可以使用XML格式定義或JSON格式定義。RESTFUL適用於移動互聯網廠商作為業務使能接口的場景,實現第三方OTT調用移動網絡資源的功能,動作類型為新增、變更、刪除所調用資源。---百度百科
以前使用最多的請求方式還是post,post一時爽一直post一直爽,直到我接觸了restful風格API,嗯真香!我就簡單展示一下我怎么使用的,太深刻的理論原理咱也不懂咱也不敢講!
REST,即Representational State Transfer的縮寫(表述性狀態傳遞)。 表述性狀態轉移是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是RESTful。需要注意的是,REST是設計風格而不是標准。REST通常基於使用HTTP,URI,和XML(標准通用標記語言下的一個子集)以及HTML(標准通用標記語言下的一個應用)這些現有的廣泛流行的協議和標准。
URI,統一資源標識符(Uniform Resource Identifier,URI)是一個用於標識某一互聯網資源名稱的字符串。 該種標識允許用戶對任何(包括本地和互聯網)的資源通過特定的協議進行交互操作。URI由包括確定語法和相關協議的方案所定義。
URL,統一資源定位系統(uniform resource locator;URL)是因特網的萬維網服務程序上用於指定信息位置的表示方法。
請求路徑 請求方法 作用
/user/1 HTTP GET 查詢id為1的user
/user/1 HTTP DELETE 刪除id為1的user
/user/1 HTTP PUT 編輯id為1的user
/user HTTP POST 新增user
新增和修改一般是使用@RequestBody獲取整個body
@PostMapping(value = "/user") public Message insert(@RequestBody User user) { try { userService.insert(user); return Message.ok(); } catch (Exception e) { logger.error(e.getMessage(), e); return Message.fail(); } } @PutMapping(value = "/user") public Message update(@RequestBody User user) { try { userService.update(user); return Message.ok(); } catch (Exception e) { logger.error(e.getMessage(), e); return Message.fail(); } }
當需要從請求路徑中獲取參數的時候就只能使用@PathVariable注解,刪除的時候一般只需要傳id,通過url帶參就可以了
@DeleteMapping(value = "/user/{id}") public Message logicalDeletionById(@PathVariable(name = "id") String id) { try { userService.logicalDeletionById(id); return Message.ok(); } catch (Exception e) { logger.error(e.getMessage(), e); return Message.fail(); } }
如果需要多條件查詢就用對象傳查詢條件,下次講SpringBoot+Jpa多條件查詢+分頁+排序
@GetMapping(value = "/user") public Message findAll() { try { return new MessageBox<>(userService.findAll()); } catch (Exception e) { logger.error(e.getMessage(), e); return Message.fail(); } }
如果有什么疑問歡迎留言,當然我也不一定懂!一起學習一起進步,群876083754
