RESTFUL風格的URL請求及參數接收


  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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM