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请求,响应内容')