zoukankan      html  css  js  c++  java
  • Title

    一、介绍 RESTful

      什么是 RESTful? REST -- REpresentational State Transfer 翻译过来叫做:"表现层状态转移" ,也没有个上下文,鬼晓得什么叫做"表层状态转移" ! OK,换个说法:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作,程序员对这句话应该就可以了解个大概了,说的比较精辟通俗。

      来具体解释一下上面的那句话,REST和技术没有多大关系,它是一种软件架构的风格,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态

       REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)

    二、RESTful API设计指南

      阮一峰大神总结的相当好,放上他的网络日志:传送门

    三、Django RESTful API

      武沛齐:传送门

    基于Django Rest Framework框架实现
    from django.conf.urls import url, include
    from web.views.s1_api import TestView
     
    urlpatterns = [
        url(r'^test/', TestView.as_view()),
    ]
    url.py
    from rest_framework.views import APIView
    from rest_framework.response import Response
    
    class TestView(APIView):
        def dispatch(self, request, *args, **kwargs):
            """
            请求到来之后,都要执行dispatch方法,dispatch方法根据请求方式不同触发 get/post/put等方法
    
            注意:APIView中的dispatch方法有好多好多的功能
            """
            return super().dispatch(request, *args, **kwargs)
    
        def get(self, request, *args, **kwargs):
            return Response('GET请求,响应内容')
    
        def post(self, request, *args, **kwargs):
            return Response('POST请求,响应内容')
    
        def put(self, request, *args, **kwargs):
            return Response('PUT请求,响应内容')
    views.py

      Rest framework框架基本流程是请求到来后会执行dispath方法,自动根据请求方法如(GET/POST)自行调用下面的get(self, request, *args, **kwargs)、post(self, request, *args, **kwargs),重要的功能是在APIView的dispatch中触发。
      Django rest_Framework框架提供常用功能:认证、权限、限流,仅需自己写类配置,完成后可全局配置使用。
      要自己实现rest_Framework框架不用Django的话,需要自己写装饰器、中间件等,比较麻烦。Django rest_Framework框架已经把规则写好,只需要写类,只需实现方法,返回值即可。

  • 相关阅读:
    无线网路优化
    【设计模式】索引
    【c++算法】已序区间算法
    (转载)一个华为11年员工的国际惯例
    选择的结果
    明确价值体现
    只谈需求
    用block改写UIButton点击事件,block改写UIAlerView的代理
    UITableViewCell的三种加载方式
    如何从一个类的ViewController,如何获取一个UIView上的某种控件
  • 原文地址:https://www.cnblogs.com/guotianbao/p/8547768.html
Copyright © 2011-2022 走看看