JSON格式
- JSON 是一种数据格式,它用于在不同的编程语言之间传递数据,它比 XML 更小、更快,更易解析
- JSON 数据格式: JSON 数据格式是键值对,键和值之间使用冒号连接,键和值之间使用逗号分隔,整个 JSON 数据格式使用大括号包围
- JSON 数据格式示例:
{
"name": "张三",
"age": 18,
"hobbies": ["打篮球", "打足球", "打排球"]
}
- 前端往后端要东西(发请求): 前端使用 AJAX 技术向后端发送请求,发到某个后端服务器的地址,获取到东西后在前端的页面上会展现出来
- 注意: AJAX 技术是 JavaScript 向服务器发送请求的技术
- 后端向前端要东西(发请求): 后端使用 JSON 格式,将数据以字符串的形式发送到前端,前端拿到数据后,将数据解析为 JSON 格式,解析为对象,解析为数组
- 注意: JSON 格式是字符串,不能直接使用,需要使用 json.loads 函数用于将JSON格式的字符串转换回Python对象,json.dumps 函数用于将Python对象转换为JSON格式的字符串
flask 框架
Flask 是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask 使用 BSD 授权。
Flask 也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask 没有默认使用的数据库、表单验证、或者 i18n 工具。Flask 没有默认的 ORM,尽管ORM 也是可选的。不过,Flask 仍然可以与任何 ORM 一起使用,例如 SQLAlchemy 和 MongoDB。
- 首先,你写完一个程序,是不是得让别人去用对吧,这个时候,你需要给程序封装一下,写一个接口,告诉别人你的程序怎么用
- 别人往你的地址上发请求,你收到请求,就会去执行你的程序,然后把结果返回给别人
- 地址和端口号的区别:
- 端口号: 代表楼的一个房间号
- 地址: 代表不同的楼
- 不同的楼可以用同一个端口号
- 什么是接口?
- 接口: 接口就是一种规范,一种标准,一种规则,别人遵守的规则,别人按照你的规范来写程序,你的程序才能运行
- 一般我们发请求有发 GET 请求,有 post 请求
- 用 post 请求可以传参数,可以传一些隐私的东西
- POST 请求不可以直接在网页传参,但是可以通过表单传参,表单可以加密,所以可以保证参数的安全性(建议学会使用 postman调试接口)
- post有两种传参形式,要看前端是用的表单提交还是json提交
- 如果是json提交,后端用request.json()来接收参数,如果是表单提交,后端用request.form来接收参数
- POST 请求不可以直接在网页传参,但是可以通过表单传参,表单可以加密,所以可以保证参数的安全性(建议学会使用 postman调试接口)
- 用 get 请求不可以传参数,但是 get 请求可以传一些非隐私的东西
- GET 请求可以直接在网页传参,保密性特别低
- 用 post 请求可以传参数,可以传一些隐私的东西
示例 flask 程序
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello World!"
if __name__ == "__main__":
app.run()
fastapi 框架
FastAPI 是一个用于构建 API 的 Python 框架。 它是基于标准 Python 类型提示, 使用最少的代码来生成最强大的 API, 同时仍然可以快速地开发和测试, 同时保持与标准 Python 的最大兼容性。
示例 fastapi 程序
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}