<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Live2D








      添加博客頂部博主信息

      (*^▽^*)歡迎來到我的博客(*^▽^*)

      添加頂部滾動信息(公告)
      任何一個偉大的目標,都有一個微不足道的開始。

      Java中用RestFul風格開發JavaWeb

      什么是RESTful風格?

      REST是REpresentational State Transfer的縮寫(一般中文翻譯為表述性狀態轉移),REST 是一種體系結構,而 HTTP 是一種包含了 REST 架構屬性的協議,為了便于理解,我們把它的首字母拆分成不同的幾個部分:

      • 表述性(REpresentational): REST 資源實際上可以用各種形式來進行表述,包括 XML、JSON 甚至 HTML——最適合資源使用者的任意形式;
      • 狀態(State): 當使用 REST 的時候,我們更關注資源的狀態而不是對資源采取的行為;
      • 轉義(Transfer): REST 涉及到轉移資源數據,它以某種表述性形式從一個應用轉移到另一個應用。

      簡單地說,REST 就是將資源的狀態以適合客戶端或服務端的形式從服務端轉移到客戶端(或者反過來)。在 REST 中,資源通過 URL 進行識別和定位,然后通過行為(即 HTTP 方法)來定義 REST 來完成怎樣的功能。

      實例說明:

      在平時的 Web 開發中,method 常用的值是 GET 和 POST,但是實際上,HTTP 方法還有 PATCH、DELETE、PUT 等其他值,這些方法又通常會匹配為如下的 CRUD 動作:

      CRUD 動作HTTP 方法
      Create POST
      Read GET
      Update PUT 或 PATCH
      Delete DELETE

      盡管通常來講,HTTP 方法會映射為 CRUD 動作,但這并不是嚴格的限制,有時候 PUT 也可以用來創建新的資源,POST 也可以用來更新資源。實際上,POST 請求非冪等的特性(即同一個 URL 可以得到不同的結果)使其成一個非常靈活地方法,對于無法適應其他 HTTP 方法語義的操作,它都能夠勝任。

      在使用 RESTful 風格之前,我們如果想要增加一條商品數據通常是這樣的:

      /addCategory?name=xxx

      但是使用了 RESTful 風格之后就會變成:

      /category

      這就變成了使用同一個 URL ,通過約定不同的 HTTP 方法來實施不同的業務,這就是 RESTful 風格所做的事情了,為了有一個更加直觀的理解,引用一下來自how2j.cn的圖:

       

       

      參考鏈接:http://www.rzrgm.cn/wmyskxz/p/9104368.html

      SpringBoot 中使用 RESTful

      實體類

      @Data
      @AllArgsConstructor
      @NoArgsConstructor
      public class Payment implements Serializable {
          private Long id;
          private String serial;
      }

      先試下不采用RestFul風格的情況

      @Controller
      @RestController
      @Slf4j
      public class PaymentController {
          @Autowired
          private PaymentService paymentService;
      
          @PostMapping(value = "/payment/create")
          public CommonResult create(Payment payment) {
              int result = paymentService.create(payment);
              log.info("*****插入結果:" + result);
      
              if (result > 0) {
                  return new CommonResult(200, "插入數據庫成功", result);
              }else{
                  return new CommonResult(444, "插入數據庫失敗", null);
              }
          }
      
          @GetMapping(value = "/payment/get")
          public CommonResult getPaymentById( Long id) {
              Payment payment = paymentService.getPaymentById(id);
              log.info("*****插入結果:" + payment);
      
              if (payment != null) {
                  return new CommonResult(200, "查詢成功", payment);
              }else{
                  return new CommonResult(444, "沒有對應記錄,查詢ID:"+id, null);
              }
          }

      這不是RestFul風格的情況  我們可以看下路徑

       

       

       再試下采用RestFul風格

      @GetMapping(value = "/payment/get/{id}")
          public CommonResult getPaymentById(@PathVariable("id") Long id) {
              Payment payment = paymentService.getPaymentById(id);
              log.info("*****插入結果:" + payment);
      
              if (payment != null) {
                  return new CommonResult(200, "查詢成功", payment);
              }else{
                  return new CommonResult(444, "沒有對應記錄,查詢ID:"+id, null);
              }
          }

      訪問成功,看下效果

       

       

       

       

       

      posted @ 2021-12-09 16:24  賽羅丶  閱讀(205)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久综合国产一区二区三区| av亚洲一区二区在线| 色偷偷www.8888在线观看| 日韩在线视频网| 成人中文在线| 亚洲熟妇av综合一区二区 | 白丝乳交内射一二三区| 天天躁夜夜躁av天天爽| 国产卡一卡二卡三免费入口| 成人免费无码大片A毛片抽搐色欲| 22222se男人的天堂| 小伙无套内射老熟女精品| 九九热视频在线观看精品| 国语精品一区二区三区| 亚洲人成网网址在线看| 久久精品国产亚洲av成人| 国色天香中文字幕在线视频| 亚洲精品成人久久av| 亚洲av综合色区在线观看| 丝袜国产一区av在线观看| 97久久精品人人做人人爽| 国产无遮挡免费视频免费| 亚洲国产良家在线观看| 国产尤物精品自在拍视频首页 | 国产激情一区二区三区午夜| 久久精品国产免费观看频道| 色99久久久久高潮综合影院| 欧美人成精品网站播放| 肃宁县| 成人午夜视频在线| 十八禁午夜福利免费网站| 亚洲精品中文av在线| 久久国产精品波多野结衣| 国产18禁黄网站禁片免费视频| 日本一区不卡高清更新二区| 成人亚洲一级午夜激情网| 无码内射中文字幕岛国片| 女人与牲口性恔配视频免费| 大尺度国产一区二区视频| 色成人亚洲| 亚洲精品成人一二三专区|