成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

淺談REST風(fēng)格

Darkgel / 3423人閱讀

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

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

REST簡(jiǎn)介

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

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

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

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

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

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

# 以id為編碼 獲取商品信息
GET  /goods/1
# 獲取多個(gè)商品信息
GET  /goods/{goodName}/{note}
# 創(chuàng)建商品信息
POST  /goods/{goodName}/{price}/{note}
# 修改商品信息
PUT  /goods/{goodName}/{price}/{note}
# 修改商品部分
PATCH  /goods/{goodName}/{note}
# 刪除某個(gè)商品信息
DELETE  /goods/2
REST風(fēng)格端點(diǎn)
# 創(chuàng)建一個(gè)商品實(shí)體類
 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請(qǐng)求方式
     **/
     @GetMapping(value="/goods/{id}")
     @ResponseBody
    public Goods getGoods(@Pathvariable("id") Long id){
        Goods goods = goodsService.getGoods(id);
        return goods;
    } 
    /**
     *REST風(fēng)格 PUT請(qǐng)求修改商品信息
     **/
     @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請(qǐng)求刪除商品信息
     **/
     @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;
    } 
}

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73972.html

相關(guān)文章

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

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

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

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

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

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

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

    ChanceWong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<