zoukankan      html  css  js  c++  java
  • restful规范 之 CBV 实现接口流程梳理

    一、CBV实现demo代码展示

    1、urls.py

    urlpatterns = [
        path('admin/', admin.site.urls),
        re_path(r'^Students/$',views.StudentView.as_view()),
    ]
    

    2、views.py

    from django.shortcuts import render,HttpResponse
    
    from django.views import View
    
    class StudentView(View):
    
        def get(self,request):
            print("查看所有的学生。。。")
            return HttpResponse("查看所有的学生。。。")
    
        def post(self,request):
            print("添加一个学生。。。")
            return HttpResponse("添加一个学生。。。")
    

    3、通过postman请求接口 http://127.0.0.1:8000/Students/


    二、CBV执行过程理解 

     

     备注:

     在 StudentView(View)类的父类View下的dispatch方法理解:

    def dispatch(self, request, *args, **kwargs):
        # Try to dispatch to the right method; if a method doesn't exist,
        # defer to the error handler. Also defer to the error handler if the
        # request method isn't on the approved list.
        if request.method.lower() in self.http_method_names:
            handler = getattr(self, request.method.lower(), self.http_method_not_allowed)  # getattr(object,name,default) object: 对象;name:字符串,对象属性;default:默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
        else:
            handler = self.http_method_not_allowed
        return handler(request, *args, **kwargs) 

    欢迎大家一起来讨论学习!!!

  • 相关阅读:
    03、SqlMapConfig.xml配置文件
    02、Mybatis整体架构介绍
    01、Mybatis快速入门
    Struts2学习笔记(十一)——文件上传
    Struts2学习笔记(十)——自定义拦截器
    Struts2学习笔记(九)——数据校验
    Struts2学习笔记(八)——国际化
    Struts2学习笔记(七)——类型转换
    Struts2学习笔记(六)——Action处理请求参数
    Struts2学习笔记(五)——Action访问Servlet API
  • 原文地址:https://www.cnblogs.com/rubickcn/p/14203426.html
Copyright © 2011-2022 走看看