初识接口

初识接口

Web应用模式

前后端不分离:
	所写的全部模板语法都是在后端进行渲染然后传给前端
    前端只会收到字符串,html,css,js
	后端人员前后端都要写
前后端分离:
	后端只写后端,就是写API接口
    前端只写前端
    全部写完前后端联调

API接口

# 为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。

# 通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介,它称之为API接口
前端发送请求到后端,从后端获取数据经过url如127.0.0.1/index返回数据到前端进行展示
后端请求某个地址,接收数据,进过一些逻辑处理,将处理好的数据返回给前端
# 四大特点
    1 url链接:127.0.0.1:8080/index
    2 有不同的请求方式:get、post、put、patch、delete
    3 请求参数   127.0.0.1:8080/books?name=红楼梦   放在请求体中
    4 响应结果: 一般是json格式,也可能是xml

接口测试工具

浏览器只能发送get请求,但是接口会有其他请求所以我们一般会使用第三方的测试工具如:postman,postwomen,apifox等

post请求有多种编码格式:
    urlencoded 格式也是默认格式,显示为:b'xx=xx&yy=yy'数据由text = request.POST.get('name')获取
    form-data 格式主要用来传文件格式,也可以带数据,文件数据用file = request.FILES.get('file')获取,携带的数据由text = request.POST.get('name')获取
    json格式(用的最多)-->只能传数据,显示为:b'{"name":"lqz","age":18}'用text = json.loads(request.body)获取数据
    # json格式在python中用.POST是取不到的

具体实现

def get_urlencoded(request):
    text = request.body
    print(text)
    return JsonResponse({"name": "张三"})


def get_form_data(request):
    file = request.FILES.get('file')
    text = request.POST.get('name')
    print(text)
    with open(f'{file}', 'wb') as f:
        for line in file:
            f.write(line)
    return JsonResponse({"name": "张三"})


def get_json(request):
    print(request.body)
    text = json.loads(request.body)
    print(text)
    return JsonResponse({"name": "张三"})
posted @ 2023-05-15 17:06  橘子熊何妨  阅读(30)  评论(0)    收藏  举报