• 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框架已经把规则写好,只需要写类,只需实现方法,返回值即可。

  • 相关阅读:
    iOS7 Assertion failure in -[UITableView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2903.2/UIView.m:8536
    mac上launchpad上顽固图标的删除办法
    证书和配置文件
    直接调用对象方法的两种方式
    Instrument使用
    ios第三方库和工具类
    pod 私有 pod 库创建和使用
    iOS 新 app 上架准备
    iOS 上架记录:Other
    ios Permission denied Command PhaseScriptExecution failed with a nonzero exit code
  • 原文地址:https://www.cnblogs.com/guotianbao/p/8547768.html
Copyright © 2020-2023  润新知