REST與技術無關,表明的是一種軟件架構風格,REST是Representational State Transfer的簡稱,中文翻譯爲「表徵狀態轉移」。這裏說的表徵性,就是指資源,一般咱們稱爲資源狀態轉移。javascript
網絡上全部的文本、圖片、視頻等實體,都是資源。除了實體,還能夠是抽象概念,好比某人的手機號、住址等。找到某個資源,須要URL,統一資源定位符。html
URI是統一資源標誌符。URL用來描述地址,URI用來對資源進行標識。URL是URI的一個子集,經過定位的方式實現URIjava
每一個URL表明一種資源,URL中儘可能不要用動詞,要用名詞python
GET: 從服務器取出資源 POST: 在服務器新建一個資源 PUT: 在服務器更新資源(客戶端提供改變後的完整資源) PATCH: 在服務器更新資源(客戶端提供改變的屬性) DELETE:從服務器刪除資源
https://www.cnblogs.com/v1/myclass
https://www.cnblogs.com/api/vi/myclass
https://www.cnblogs.com/api/vi/myclass
{ code: 1000, // 響應碼 msg: "ok", // 描述信息 data:{ // 數據 id:1, name:'小強', depart_id:http://www.luffycity.com/api/v1/depart/8 } }
舉例:django
例如動物園中有不少的動物,如何進行增刪改查?api
咱們能夠看到URL中所有都是名詞,對資源的操做(動做)體如今請求方式上,體現了面向資源的思想。服務器
是基於Django的RESTful實現網絡
下載架構
pip3 install djangorestframework
settings.pypost
INSTALLED_APPS = [ ... 'rest_framework', ]
urls.py
from DemoApp.views import BookView urlpatterns = [ path('list', BookView.as_view()), ]
views.py
from rest_framework.views import APIView from rest_framework.response import Response class BookView(APIView): def get(self, request, *args, **kwargs): return Response('GET請求,響應內容') def post(self, request, *args, **kwargs): return Response('POST請求,響應內容') def put(self, request, *args, **kwargs): return Response('PUT請求,響應內容')