日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

drf1 rest restful规范

發布時間:2024/9/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 drf1 rest restful规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

web服務交互

我們在瀏覽器中能看到的每個網站,都是一個web服務。那么我們在提供每個web服務的時候,都需要前后端交互,前后端交互就一定有一些實現方案,我們通常叫web服務交互方案。目前主流的三種web服務交互方案:-- REST ( Representational State Transfer)表述性狀態轉移-- SOAP (Simple Object Access Protocol) 簡單的對象訪問協議-- XML-RPC (XML Remote Procedure Call)基于XML的遠程過程調用XML-RPC是通過XML將調用函數封裝,并使用HTTP協議作為傳送機制。后來在新的功能不斷被引入下,這個標準慢慢演變成為今日的SOAP協定。SOAP服務則是以本身所定義的操作集,來訪問網絡上的資源。SOAP也是基于XML的,但是它不只限于HTTP協議的傳輸,包括TCP協議,UDP協議都可以傳輸。REST是Roy Thomas Fielding博士于2000年在他的博士論文里提出來的。REST相比SOAP更加簡潔,性能和開發效率也有突出的優勢。 現在越來越多的web服務開始采用REST風格設計和實現。 例如,amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎提供的Web服務也是REST風格的。理解REST如果我們想要理解restful,就要理解Representational State Transfer這個詞組的意思,表征性狀態轉移。這里所說的表征性,其實指的就是資源。通常我們稱為資源狀態轉移。什么是資源任何事物,只要有被引用到的必要,它就是一個資源。我們在瀏覽器中看到的文本,視頻,圖片等等都是資源。這些都是實實在在存在的實體。資源可以是一個實體,也可以是抽象概念。那么在我們的網絡中,我們要引用資源,資源一定要有一個標識,在web中的唯一標識就是URI, 什么是URI,URLURI 統一資源標志符。URL 統一資源定位符。URI是給我們的資源進行標識的,URL是描述我們資源地址的。比如說我們每個人都有名字和身份證,名字可能重名,但是身份證是唯一的,那么身份證號就可以是我們的URI,標識我們每個人,也可以說標識我們每個資源。其實我們的URL可以說是URI的子集,通過定位的方式實現的URI。統一資源接口現在我們可以通過URL去訪問到資源,那么我們對資源會有很多不同的操作,增刪改查,根據HTTP請求方式的不同,對資源進行不同的操作,這個就是是統一資源接口。我們一定要遵循HTTP請求方法的語義,也就是說POST請求就在新增數據等....資源的表述資源的表述其實就是資源的展現形式,我們客戶端和服務端傳輸的都是資源的表述,而不是資源本身。例如文本資源可以采用html、xml、json等格式,圖片可以使用PNG或JPG展現出來。 可以通過HTTP內容協商,客戶端可以通過Accept頭請求一種特定格式的表述,服務端則通過Content-Type告訴客戶端資源的表述形式。這些資源的表述呈現在頁面上,就是我們說的資源狀態。
狀態轉移我們在看頁面的時候,從當前資源的表述(也可以說狀態或者表現層)會跳轉到其他的資源狀態。服務端通過超媒體告訴客戶端當前狀態有哪些后續狀態可以進入。這些類似"下一頁"之類的鏈接起的就是這種推進狀態的作用——指引你如何從當前狀態進入下一個可能的狀態。
總結 可以得知REST風格的特點如下: (1)在web中,只要有被引用的必要都叫資源。(2)每個URI代表一個資源,獨一無二的。(3)客戶端通過HTTP的方法,對服務器端資源進行操作;(4)客戶端和服務器之間,傳遞這種資源的某種表現層;(5)通過超鏈接的指引,實現"表現層狀態轉移"。

RESTful? 

  如果一個架構符合REST的約束條件和原則,我們就稱它為RESTful架構。

  一種軟件的架構風格,設計風格,? 為客戶端和服務端的交互提供一組設計原則和約束條件。

restful規范

一 面向資源編程每個URL代表一種資源,URL中盡量不要用動詞,要用名詞。
二 根據method不同,進行不同的操作GET/POST/PUT/DELETE/PATCH
三 在URL中體現版本https://www.bootcss.com/v1/mycsshttps://v1.bootcss.com/mycss
四 在URL中體現是否是APIhttps://www.bootcss.com/api/mycsshttps://api.bootcss.com/mycss
五 在URL中的過濾條件https://www.bootcss.com/v1/mycss?page=3
六 盡量使用HTTPShttps://www.bootcss.com/v1/mycss
七 響應時設置狀態碼1** 信息,服務器收到請求,需要請求者繼續執行操作2** 成功,操作被成功接收并處理3** 重定向,需要進一步的操作以完成請求4** 客戶端錯誤,請求包含語法錯誤或無法完成請求5** 服務器錯誤,服務器在處理請求的過程中發生了錯誤
八 返回值GET請求     返回查到所有或單條數據POST請求   返回新增的數據PUT請求   返回更新數據PATCH請求   局部更新 返回更新整條數據DELETE請求   返回值為空
九 返回錯誤信息返回值攜帶錯誤信息
十 Hypermedia API如果遇到需要跳轉的情況 攜帶跳轉轉接口的URLret = {code: 1000,data:{id:1,name:'小強',depart_id:http://www.luffycity.com/api/v1/depart/8/}}

總結

以上是生活随笔為你收集整理的drf1 rest restful规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。