成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

淺談REST風(fēng)格

Darkgel / 3480人閱讀

摘要:廢話不多講,下面就說說風(fēng)格到底是個神馬東東。一個資源可能會隨著需求的變化而經(jīng)歷一個資源創(chuàng)建修改查詢刪除等過程,風(fēng)格正是基于協(xié)議運行的,協(xié)議又被稱為無狀態(tài)協(xié)議,所以資源的變化需要在服務(wù)端完成。

現(xiàn)如今微服務(wù)如日中天,那么大家有沒有想過各個微服務(wù)之間是怎么調(diào)用數(shù)據(jù)亦或是怎么交互的呢?當(dāng)然方式有很多,但今天所說的REST風(fēng)格被業(yè)界推薦為微服務(wù)之間交互的首選方式(小編還是非常喜歡這種方式的)。廢話不多講,下面就說說REST風(fēng)格到底是個神馬東東。--讀《深入淺出 Sping Boot》有感

REST簡介

REST(Representational State Transfer)又被喚作表現(xiàn)層狀態(tài)轉(zhuǎn)換。它涉及到三個重要名詞:

資源
所謂資源簡單講就是服務(wù)所能提供的數(shù)據(jù),可以是實體數(shù)據(jù)也可是媒體類型,圖片、PDF、文本等

表現(xiàn)層
何為變現(xiàn)層?簡單說就是將數(shù)據(jù)以某種方式展現(xiàn)給用戶,或者給客戶返回一張圖片等等動作稱之為表現(xiàn),通常是已JSON或XML形式展現(xiàn)數(shù)據(jù)

狀態(tài)轉(zhuǎn)換
狀態(tài)轉(zhuǎn)換就是對數(shù)據(jù)進行一系列的操作,因為資源本身并非一塵不變,隨著需求的變化而變化。一個資源可能會隨著需求的變化而經(jīng)歷一個資源創(chuàng)建、修改、查詢、刪除等過程,REST風(fēng)格正是基于HTTP協(xié)議運行的,HTTP協(xié)議又被稱為無狀態(tài)協(xié)議,所以資源的變化需要在服務(wù)端完成。

REST風(fēng)格之RUI設(shè)計

在做這個之前有必要清楚Http協(xié)議的7種常用動作:GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS

# 以id為編碼 獲取商品信息
GET  /goods/1
# 獲取多個商品信息
GET  /goods/{goodName}/{note}
# 創(chuàng)建商品信息
POST  /goods/{goodName}/{price}/{note}
# 修改商品信息
PUT  /goods/{goodName}/{price}/{note}
# 修改商品部分
PATCH  /goods/{goodName}/{note}
# 刪除某個商品信息
DELETE  /goods/2
REST風(fēng)格端點
# 創(chuàng)建一個商品實體類
 public class goods{
    private Long id;
    private String goodsName;
    private Double price;
    private String note;
    
    public Long getId(){
        return id;
    }
    public void setId(Long id){
        this.id = id;
    }
    public String getGoodsName(){
        return goodsName;
    }
    public void setGoodsName(String goodsName){
        this.goodsName = goodsName;
    }
    public Double getPrice(){
        return price;
    }
    public void setPrice(Double price){
        this.price = price;
    }
    public String getNote(){
        return note;
    }
    public void setNote(String note){
       this.note = note;
    }
}
# 控制器
@Controller
public class GoodsController{
    /**
     *REST風(fēng)格 獲取商品的GET請求方式
     **/
     @GetMapping(value="/goods/{id}")
     @ResponseBody
    public Goods getGoods(@Pathvariable("id") Long id){
        Goods goods = goodsService.getGoods(id);
        return goods;
    } 
    /**
     *REST風(fēng)格 PUT請求修改商品信息
     **/
     @GetMapping(value="/goods/{id}")
     @ResponseBody
    public Goods getGoods(@Pathvariable("id") Long id,@RequestBody Goods goods){
        Goods goods = goodsService.getGoods(id);
        goods.setId(id);
        goodsService.update(goods);
        return goods;
    } 
    /**
     *REST風(fēng)格 使用HTTP的DELETE請求刪除商品信息
     **/
     @GetMapping(value="/goods/{id}")
     @ResponseBody
    public String getGoods(@Pathvariable("id") Long id){
        int status = goodsService.deleteGoods(id);
        String result = "";
        if(status=0){
            result = "操作成功";
        }else{
            result = "操作失敗";
        }
        return result;
    } 
}

以上是我對REST風(fēng)格的簡單認(rèn)識,希望能給您提供些許幫助!謝謝支持??!
2019-03-27 23:30:34 星期三

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/73972.html

相關(guān)文章

  • 架構(gòu)~微服務(wù)

    摘要:接下來繼續(xù)介紹三種架構(gòu)模式,分別是查詢分離模式微服務(wù)模式多級緩存模式。分布式應(yīng)用程序可以基于實現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負(fù)載均衡命名服務(wù)分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡單的 SpringCloud 教程 | 第九篇: 服務(wù)鏈路追蹤 (Spring Cloud Sleuth) 史上最簡單的 S...

    xinhaip 評論0 收藏0
  • 架構(gòu)~微服務(wù) - 收藏集 - 掘金

    摘要:它就是史上最簡單的教程第三篇服務(wù)消費者后端掘金上一篇文章,講述了通過去消費服務(wù),這篇文章主要講述通過去消費服務(wù)。概覽和架構(gòu)設(shè)計掘金技術(shù)征文后端掘金是基于的一整套實現(xiàn)微服務(wù)的框架。 Spring Boot 配置文件 – 在坑中實踐 - 后端 - 掘金作者:泥瓦匠鏈接:Spring Boot 配置文件 – 在坑中實踐版權(quán)歸作者所有,轉(zhuǎn)載請注明出處本文提綱一、自動配置二、自定義屬性三、ran...

    church 評論0 收藏0
  • 那些年,我們一起誤解過的REST

    摘要:通過增刪查改,引起資源狀態(tài)的改變,稱為狀態(tài)轉(zhuǎn)移。用于獲取資源的元信息。方法與方法類似,都可以查詢資源的元信息放在的,但不會返回資源的表述。表示請求有問題,如參數(shù)錯誤等。表示當(dāng)前請求的某前置條件不符合。網(wǎng)關(guān)錯誤,從上游服務(wù)器收到無效響應(yīng)。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實踐干貨哦~ 本文由sammyshen 發(fā)表于云+社區(qū)專欄 最近幾年REST API越來越流行,特別是...

    DesGemini 評論0 收藏0
  • 詳解REST架構(gòu)風(fēng)格

    摘要:但是遠(yuǎn)遠(yuǎn)不僅是指的風(fēng)格,它是一種網(wǎng)絡(luò)應(yīng)用的架構(gòu)風(fēng)格。參考用定位資源在架構(gòu)風(fēng)格中,用來指定一個資源。完整狀態(tài)碼列表如何設(shè)計在過去不使用架構(gòu)風(fēng)格的時候,如果我們要設(shè)計一個系統(tǒng),會以操作為出發(fā)點,然后圍繞它去建設(shè)其他需要的東西。 引言 作為Web開發(fā)者,你可能或多或少了解一些REST的知識,甚至已經(jīng)非常習(xí)慣于它,以至于在正式地學(xué)習(xí)REST的時候,你可能心里會想:本來就是這樣做的啊,不然還能怎...

    ChanceWong 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<