zoukankan      html  css  js  c++  java
  • DRF框架基础知识储备

    Web应用模式

    在开发Web应用中,有两种应用模式:

    1. 前后端不分离

    1. 前后端分离

    2. api接口

    为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。

    目前市面上大部分公司开发人员使用的接口服务架构主要有:restful、rpc。

    rpc: 翻译成中文:远程过程调用[远程服务调用].

    http://www.aliang.com/api

    post请求

    action=get_all_student&params=301&sex=1

    接口多了,对应函数名和参数就多了,前端在请求api接口时,就会比较难找.容易出现重复的接口

    restful: 翻译成中文: 资源状态转换.

    把后端所有的数据/文件都看成资源.

    那么接口请求数据,本质上来说就是对资源的操作了.

    web项目中操作资源,无非就是增删改查.所以要求在地址栏中声明要操作的资源是什么,然后通过http请求动词来说明对资源进行哪一种操作.

    POST http://www.aliang.com/api/students/ 添加学生数据

    GET http://www.aliang.com/api/students/ 获取所有学生

    DELETE http://www.aliang.com/api/students/ 删除1个学生

    3. RESTful API规范

    RESTful API规范详解

    REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中。

    RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中。

    这种风格的理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源。

    而对于数据资源分别使用POST、DELETE、GET、UPDATE等请求动作来表达对数据的增删查改。

    请求方法 请求地址 后端操作
    GET /students 获取所有学生
    POST /students 增加学生
    GET /students/ 获取编号为pk的学生
    PUT /students/ 修改编号为pk的学生
    DELETE /students/ 删除编号为pk的学生

    4. 序列化

    api接口开发,最核心最常见的一个过程就是序列化,所谓序列化就是转换数据格式,序列化可以分两个阶段:

    序列化: 把服务端后台识别的数据转换成指定的格式提供给客户端。

    例如:我们在django中获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或别的平台使用,所以我们需要把数据进行序列化,变成字符串或者json数据,提供给别人。

    反序列化:把客户端提交的数据转换/还原成服务端后台需要的格式。

    例如:前端js提供过来的json数据,对于python而言就是字符串,我们需要进行反序列化换成模型类对象,这样我们才能把数据保存到数据库中。

  • 相关阅读:
    GenericServlet vs HttpServlet
    il c井
    额。。万恶之源就是c
    js算数优先级
    connect-flash 中间件
    触发bfd 的条件
    module 和 module.exports 的区别
    a标签填充父容器
    bootstrap
    每日一练排版
  • 原文地址:https://www.cnblogs.com/fengting0913/p/13474747.html
Copyright © 2011-2022 走看看