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

  • 相关阅读:
    Linux下shell
    分享微博@功能jquery代码及全面解析
    使用C#处理WebBrowser控件中的跨域问题
    Sqler 工具
    ASP.NET Web API批处理器
    Microsoft Academic Search
    C#中delegate对象Equals方法简析
    写一个编译器
    使用.NET中的Action及Func泛型委托
    电子政务数据库管理系统及应用软件系统安全分享(一)
  • 原文地址:https://www.cnblogs.com/guotianbao/p/8547768.html
Copyright © 2011-2022 走看看