###############   django框架-rest framework    ###############

# django rest framework 框架
# 为什么学习这个rest framework?
# 1,写代码的时候会用到,前后端分离的项目,可以帮助我们快速的写api,
# 2,面试的时候会问到, # 这个框架提供了一些什么功能?
# 1,权限组件,
# 2,认证组件
# 3,访问频率限制组件,
# 4,序列化,这个序列化是干什么的?把字符串序列化为json返回,
# 5,路由
# 6,视图,你写的rest framework继承过哪些类?这个学过了就知道了
# 7,分页
# 8,解析器,解析器干什么的?parse,vue发过来的请求,我要解析,根据头不同解析成不同的结果,
# 9,渲染器,渲染页面的,
# 10,版本,
# 这些就是序列化是用的最多的,分页也用的多,其他的比如权限这样的写一次就很少改动了, # django rest framework安装:
# 在pycharm中的terminal中执行命令:
# pip install djangorestframework # 这是一个app,注意app的注册在settings.py中

###############   restful协议    ###############

# restful协议
# REST与技术无关,代表的是一种软件架构风格
# 所有的数据,不管是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性 # 1,HTTPs协议:
# API与用户的通信协议,总是使用HTTPs协议。https收费,但是更加的安全
# 2,域名:唯一的目的就是为了能一眼看到就是接口,可以不加,但是这是规范,
# 第一种:子域名方式
# https://api.example.com,这一种会存在跨域,浏览器有同源策略,
# 第二种:url方式,
# https://example.org/api/,这种便宜,
# 3,版本:
# URL,如:https://api.example.com/v1/
# https://example.org/api/v1/
# 4,路径:面向资源编程,写url的时候推荐使用名词,
# https://example.org/api/v1/名词/
# https://example.org/api/v1/order/
# 5,method,
# GET:获取资源(一项或多项)
# POST:新建一个资源
# PUT:更新资源(全部更新)
# PATCH:更新资源(局部更新)
# DELETE:删除资源
# 6,过滤,在url加条件,通过?号
# https://api.example.com/v1/zoos?page=2&per_page=100:指定第几页,以及每页的记录数
# 7,状态码+code:常用的状态码
# 200 OK - [GET]:服务器成功返回用户请求的数据
# 200系列表示成功
# 300系列表示重定向
# 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作
# 400系列是客户端错误
# 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
# 500系列是服务端错误,
# api需要返回状态码,但是我们通常使用code来做,因为只有状态码是不够用的,比如支付宝的状态码,可以参考看看,
# 所以需要状态码和code结合,
# 8,错误信息:
# api一定要返回错误信息,
# 9,返回请求的结果,
# 针对不同的操作,返回不同的结果,
# GET /order/ 返回所有的订单
# GET /order/1/ 返回单个订单
# POST /order/ 创建订单,如果前端需要,就返回创建的订单信息,不需要就不返回
# PUT /order/1/ 修改订单,全部
# PATCH /order/1/ 修改订单,局部
# DELETE /order/1/ 删除订单
# 10,Hypermedia API,RESTful API最好做到Hypermedia,即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么 # 上面就是所有的规范,但是我们可以不遵循,需要根据业务情况来选择是否遵循,

###############  结束线   ###############

rest framework-restful介绍-长期维护的更多相关文章

  1. django框架基础-框架介绍-长期维护

    ###############    MVC架构介绍    ################ # MVC架构 # 一个软件框架有很多的模块,每一个模块有不同的功能 # 模块与模块之间相互配合来完成软件 ...

  2. Django_rest framework 框架介绍

    restful介绍  restful协议 一切皆是资源,操作只是请求方式 URL 设计 原先的URL设计方式 在url 中体现出操作行为 /books/ books /books/add/ addbo ...

  3. django rest framework restful 规范

    内容回顾: . django请求生命周期 -> 执行遵循wsgi协议的模块(socket服务端) -> 中间件(路由匹配) -> 视图函数(业务处理:ORM.模板渲染) -> ...

  4. RESTful介绍和使用教程

    出自:https://blog.csdn.net/x541211190/article/details/81141459 一.REST起源REST(Representational State Tra ...

  5. Spring Framework简单介绍

    Spring Framework        学习java编程不知不觉已经三年时间了,開始的时候,总是喜欢看着视频,然后按部就班的敲打着键盘,每当系统正常执行后.心里乐开了花.最開始的时候,所有的代 ...

  6. 第三篇:RESTful介绍

    在介绍restful之前先放一张从之前文章评论里看到的图,我觉得它把soap和rest之间的一些区别形容地非常形象. 在第一篇和第二篇中我们也介绍过,soap协议传递的报文要基于xml格式的soap消 ...

  7. Django REST framework框架介绍和基本使用

    Django REST framework介绍 Django REST framework是基于Django实现的一个RESTful风格API框架,能够帮助我们快速开发RESTful风格的API. 官 ...

  8. python后端面试第七部分:项目部分--长期维护

    ##################    项目部分       ####################### 1,你怎么测试自己的代码的?自测 2,开发使用windows还是Linux,虚拟环境的 ...

  9. JBoss 系列十一:JBoss Cluster Framework Demo 介绍

    内容概要 JBoss Cluster Framework Demo包括JGruops.JBossCache.Infinispan,我们在随后的系列中会使用和运行这些示例来说明JGroups.JBoss ...

随机推荐

  1. mybatis+mysql 通过sql脚本生成mapper的部分内容

    SQL mysql SELECT concat('<if test="', COLUMN_NAME, ' != null"> ', COLUMN_NAME, ',< ...

  2. Mysql--主库不停机搭建备库

    参考:http://blog.csdn.net/luozuolincool/article/details/38494817 mysqldump --skip-lock-tables --single ...

  3. 给vector对象添加元素的方法

    #include<iostream> #include<vector> using namespace std; int main() { //初始化10个元素,每个值都为0 ...

  4. stegsolve使用方法

    Stegsolve使用方法(是因为ctf题总是遇到并且目前百度没有十分详细的探究说明) 这个没什么好说的,打开文件 ,保存,退出 在分析里面从上到下的依次意思是 File Format:文件格式 Da ...

  5. 磁盘报No space left on device,但是 df -h 查看磁盘空间没满

    df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/dev01-root 75G 58G 14G 82% / udev 2.0G ...

  6. Thread--使用condition实现顺序执行

    package condition; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Re ...

  7. js样式添加

    document.getElementsByName("spans")[index].style.color = "blue";

  8. 梯度消失、梯度爆炸以及Kaggle房价预测

    梯度消失.梯度爆炸以及Kaggle房价预测 梯度消失和梯度爆炸 考虑到环境因素的其他问题 Kaggle房价预测 梯度消失和梯度爆炸 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸( ...

  9. JDK11 JAVA11下载安装与快速配置环境变量教程

    https://blog.csdn.net/weixin_40928253/article/details/83590136 1.到Oracle官网下载jdk11,并安装.搜索“jdk",选 ...

  10. 干货 | 京东云应用负载均衡(ALB)多功能实操

    应用负载均衡(Application Load Balancer,简称ALB)是京东云自主研发的一款七层负载均衡产品,主要面向HTTP和HTTPS流量的WEB应用程序,提供灵活的功能配置.应用负载均衡 ...