rest framework-restful介绍-长期维护
############### 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介绍-长期维护的更多相关文章
- django框架基础-框架介绍-长期维护
############### MVC架构介绍 ################ # MVC架构 # 一个软件框架有很多的模块,每一个模块有不同的功能 # 模块与模块之间相互配合来完成软件 ...
- Django_rest framework 框架介绍
restful介绍 restful协议 一切皆是资源,操作只是请求方式 URL 设计 原先的URL设计方式 在url 中体现出操作行为 /books/ books /books/add/ addbo ...
- django rest framework restful 规范
内容回顾: . django请求生命周期 -> 执行遵循wsgi协议的模块(socket服务端) -> 中间件(路由匹配) -> 视图函数(业务处理:ORM.模板渲染) -> ...
- RESTful介绍和使用教程
出自:https://blog.csdn.net/x541211190/article/details/81141459 一.REST起源REST(Representational State Tra ...
- Spring Framework简单介绍
Spring Framework 学习java编程不知不觉已经三年时间了,開始的时候,总是喜欢看着视频,然后按部就班的敲打着键盘,每当系统正常执行后.心里乐开了花.最開始的时候,所有的代 ...
- 第三篇:RESTful介绍
在介绍restful之前先放一张从之前文章评论里看到的图,我觉得它把soap和rest之间的一些区别形容地非常形象. 在第一篇和第二篇中我们也介绍过,soap协议传递的报文要基于xml格式的soap消 ...
- Django REST framework框架介绍和基本使用
Django REST framework介绍 Django REST framework是基于Django实现的一个RESTful风格API框架,能够帮助我们快速开发RESTful风格的API. 官 ...
- python后端面试第七部分:项目部分--长期维护
################## 项目部分 ####################### 1,你怎么测试自己的代码的?自测 2,开发使用windows还是Linux,虚拟环境的 ...
- JBoss 系列十一:JBoss Cluster Framework Demo 介绍
内容概要 JBoss Cluster Framework Demo包括JGruops.JBossCache.Infinispan,我们在随后的系列中会使用和运行这些示例来说明JGroups.JBoss ...
随机推荐
- VUE.js入门学习(4)-动画特效
1.VUE中CSS动画原理(more是 v-enter 具体的根据 name的来决定) 动画是通过在某一时间段来添加样式决定的. 要通过 transition进行包裹. 2.在VUE中使用 anim ...
- js数组全等
js 数组全等(对象) if(this.eqOrNotEq(arr)){} eqOrNotEq(arr) { return !arr.some(function(value, index) { ret ...
- MySQL读写分离如何实现?
主要说下读写分离, 当我们的数据量很大时,数据库服务器的压力变大,这时候我们需要从架构方面来解决这一问题,在一个网站中读的操作很多,写的操作很少,这时候我们需要配置读写分离,把读操作和写操作分离出来, ...
- CodeForces (字符串从字母a开始删除k个字母)
You are given a string s consisting of n lowercase Latin letters. Polycarp wants to remove exactly k ...
- re模块3
#分组 () print(re.findall("(ad)/(vv)","adddad/vvdddddddddd")) print(re.findall(&qu ...
- 查找ARP攻击源
问题: 内网有电脑中了ARP病毒,但是网络拓扑比较复杂.电脑数量较多,排查起来很困难.有什么方法可以找出ARP攻击源?[推荐3]排查方法: 1.使用Sniffer抓包.在网络内任意一台主机上运行抓包软 ...
- (2)关于opencv解压
关于opencv解压,一定不能解压到你的C盘的 ProgramFile(x86)中,不然,你肯定不会成功,你要放在C盘的其他文件夹,或者是别的盘中 就是因为这一个错误,我弄了一天,哎哎,时间宝贵啊
- 基于基因调控网络(Hopfield network)构建沃丁顿表观遗传景观
基因调控网络的概念在之前已经简要介绍过:https://www.cnblogs.com/pear-linzhu/p/12313951.html 沃丁顿表观遗传景观(The Waddington's e ...
- 第 10 章 gdb
一.参考网址 1.linux c编程一站式学习 二.命令列表 1.图1: 2.图2: 3.图3: 三.重点摘抄 1.断点与观测点的区别 我们知道断点是当程序执行到某一代码行时中断,而观察点是当程序访问 ...
- l1 和l2范数的真实意义
很长时间一直没有明白真实的含义,十一期间补充一下这方面的知识. l0 范数是 ||x||0 = xi (xi不等于0)代表非0数字的个数,[1,2,3,4,5] 非0个数为5,[0,1,2,0,3] ...