zoukankan      html  css  js  c++  java
  • DjangoRestFramework,解释器组件, Postman,

    一 . RESTful

    1. RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。
    2. REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”
    3. REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态

      HTTP动词

    客户端用到的手段,只能是HTTP协议。
    具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:
    GET用来获取资源,
    POST用来新建资源(也可以用于更新资源),
    PUT用来更新资源,
    DELETE用来删除资源。

      RESTful架构的一些误区

        误区一:

    最常见的一种设计错误,就是写路径的时候包含动词。因为"资源"表示一种实体,所以应该是名词,动词应该放在HTTP协议中。
    
    举例来说,某个路径是/posts/show/1,其中show是动词,这个URI就设计错了,正确的写法应该是/posts/1,然后用GET方法表示show。

        误区二:

    在URL中不应该加入版本号, 如:
        http://www.example.com/app/1.0/foo    
        http://www.example.com/app/2.0/foo    # 这样不应该
    因为不同的版本,可以理解成同一种资源的不同表现形式,所以应该采用同一个URL。版本号可以在HTTP请求头信息的Accept字段中进行区分:
        Accept: vnd.example-com.foo+json; version=1.0
        Accept: vnd.example-com.foo+json; version=2.0

    二 . DjangoRestFramework(简称DRF)

      drf是django发展来的一个符合restful接口规范的一个app

      

    安装: pip install djangorestframework
    django不能直接直接用request.post拿到前端发过来的json数据,但是用到djangorestframework就可以啦,这时拿数据要用request.data

       我们在用restframework的时候,写视图函数的时候用的是CBV

    from django.shortcuts import render, HttpResponse
    from rest_framework.views import APIView
    from app01 import models
    from rest_framework.parsers import JSONParser
    
    class BookHandle(APIView):
        parser_classes = [JSONParser, ]  # content-type限制为json,如果不限制,支持所有的parser_classes解析器
    
        def post(self, request):
            # print('这个是django中获取数据的方法', request.POST)  # 不能接受json格式的数据
            print(type(request))  # 在你想找request具体是哪个类实例化来的
            # rest_framework.request.Request  打印结果是这样,直接就 from rest_framework.request import Request
            print('这是rest_framework中获取数据的方法', request.data)  # 能接受json格式, 在request.data调用解析器
            return HttpResponse('OK')

    三 . 解释器组件

    解析器就是能把content-type中类型解析出来, 比如django自带的解析器能解urlencode和mutipart/form-data类型的数据,然后将数据放到request.POST里面.
    而DRF通过自己的解析器,帮我们给request里面封装了一个request.data属性,获取请求体里面的数据,然后解析,
      并且这个解析器基本上能够解析所有的数据类型,包括django不能自动解析的json数据类型.

    四 . Postman的使用

    Postman是一个模拟发送请求并获得响应结果的工具,
    不用这个工具的时候,我们写web项目,调试接口返回数据的时候,是不是都要启动项目,通过浏览器访问,然后查看数据,
    有了这个工具我们就可以不用启动浏览器来,通过这个工具就能进行调试

      下载: https://www.getpostman.com/downloads/

      使用Postman:

      

  • 相关阅读:
    2010年Ei收录的中国期刊
    做DSP最应该懂得157个问题
    【资料分享】 OpenCV精华收藏
    孙鑫VC学习笔记:多线程编程
    对Davinci DM6446的评价[转]
    TI首席科学家展望2020年处理器架构和DSP的发展
    37份计算机科学的经典文档
    VC学习笔记:状态栏
    【VC参考手册】MFC类库:4.21版和6.0版
    TI DSP入门学习
  • 原文地址:https://www.cnblogs.com/attila/p/10800328.html
Copyright © 2011-2022 走看看