美文网首页
RESTful 前后分离

RESTful 前后分离

作者: 十二右 | 来源:发表于2018-09-06 00:13 被阅读0次

    2. 前后分离 : MVT中的T部包含在后端的项目中

    VUE(前端) + restframework(后端)

    2.1REST - 所有web应用都应该遵守的架构设计指导原则

    1. 资源:
    2. 状态转移: GET(查询) / POST(创建) / PUT(修改全部变量) / PATCH (修改部分变量) / DELETE(删除)
    3. 统一接口 :
      请求方式POST, 请求url : /app/student/
      请求方式DELETE,请求url : /app/student/1/
      请求方式PATCH, 请求url : /app/student/1/
      请求方式PUT, 请求url : /app/student/1/
    4. filter - 过滤
    5. 状态码 -
      rest返回结果: 状态码, 数据, 信息
      data = {'code': 200, 'msg': '请求成功', data: {} }

    GIL全局解释器锁 :
    多线程在计算密集型,比单线程慢
    多线程在I0密集型,比单线程块

    使用协程:
    只有一个线程


    2.2 Django中使用

    1. 下载安装接口调试工具 : Postman


      image.png
    2. 安装工具包
      pip install djangorestframework==3.4.6
      pip install django-filter # Filtering support 过滤作用

    3. setttingINSTALLED_APPS = [ 'rest_framework' ]

    4. urls里关联路径
      导入包
      from rest_framework.routers import SimpleRouter
      管理学生路径资源
      router = SimpleRouter()
      router.register('student', views.StudentSource)
      关联路径
      urlpatterns += router.urls

    5. 建立序列化模块 serializers:


      image.png
    6. views里实现:
      导入方法:
      from rest_framework import mixins, viewsets
      from app.app_serializers import StudentSerializer
      定义实现CRUD - 增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)的类

    class StudentSource(mixins.ListModelMixin,     # 查询所有
                        mixins.RetrieveModelMixin,         # 查询某一个
                        mixins.CreateModelMixin,           # 创建
                        mixins.DestroyModelMixin,        # 删除
                        viewsets.GenericViewSet         # 包含get_queryset(self)方法,通过它才能获取到Student数据
                        ):
    
        # 查询资源的所有数据
        queryset = Student.objects.all()
        # 序列化
        serializer_class = StudentSerializer
    
    1. 页面里查询结果(一般不用)


    2. 使用Postman查询工具 :


      image.png
      image.png

    相关文章

      网友评论

          本文标题:RESTful 前后分离

          本文链接:https://www.haomeiwen.com/subject/biqtgftx.html