美文网首页
python面试经常被问RESTful架构知识

python面试经常被问RESTful架构知识

作者: dongshangtong | 来源:发表于2019-05-29 00:16 被阅读0次

    ~什么叫restful 框架?~
    根据我个人开服经验总结,我把restful 框架 划分为三大类体现,每一类又有几个小点,我们说第一类。

    1.核心思想
    1.1面向资源去编程 url中尽量名词不要用动词
    1.2根据HTTP请求方式的不同对资源进行不同的操作
    2.在url中体现的
    2.1体现版本
    https://v2.bootcss.com/
    https://bootcss.com/v2
    2.2体现是否是API
    https://v2.bootcss.com/api
    2.3有过滤条件
    https://v2.bootcss.com/course?page=1
    2.4尽量用https

    3.在返回值中
    3.1携带状态码
    3.2返回值
    get 返回查看的所有或者单条数据
    post 返回新增的这条数据
    put/patch 返回更新的这条数据
    delete 返回值空
    3.3携带错误信息
    3.4携带超链接

    ~说一下django rest framework框架中都有那些组件?~
    1.序列化组件:
    serializers 对queryset序列化以及对请求数据格式校验
    2.路由组件
    routers 进行路由分发
    3.视图组件ModelViewSet
    帮助开发者提供了一些类,并在类中提供了多个方法
    4.认证组件
    写一个类并注册到认证类(authentication_classes),在类的的authticate方法中编写认证逻
    5.权限组件
    写一个类并注册到权限类(permission_classes),在类的的has_permission方法中编写认证逻辑
    6.频率限制
    写一个类并注册到频率类(throttle_classes),在类的的allow_request/wait 方法中编写认证逻辑
    7.解析器
    选择对数据解析的类,在解析器类中注册(parser_classes)
    8.渲染器
    定义数据如何渲染到到页面上,在渲染器类中注册(renderer_classes)
    9.分页
    对获取到的数据进行分页处理, pagination_class
    10.版本
    版本控制用来在不同的客户端使用不同的行为,在url中设置version参数,用户请求时候传入参数。在request.version中获取版本,根据版本不同 做不同处理

    相关文章

      网友评论

          本文标题:python面试经常被问RESTful架构知识

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