节点JSON服务器的Python实现(Flask作为后端)
pyjserver的Python项目详细描述
Python JSON服务器
节点JSON服务器的Python实现(Flask作为后端)。在
关于
制作一个完整的restapi而不需要编码!
pyjserver是Node JSON Sever的python实现,
它基于json文件创建一个完整的restapi(包含GET、POST、PUT和DELETE方法)。在
下一步是什么
- 修补HTTP方法。在
- 使用GET HTTP方法筛选数据。在
- 使用GET HTTP方法对数据分页。在
安装
Python JSON服务器库位于PyPi存储库中,因此可以与pip
一起安装。在
>>> pip install pyjserver
陈述
安装pyjserver之后,创建带有端点和数据的db.json
文件。在
运行pyjserver cli命令。在
>>> python -m pyjserver my-server ./db.json
或者
>>> python3 -m pyjserver my-server ./db.json
将显示以下输出:
* Serving Flask app "my-server" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://localhost:5000/ (Press CTRL+C to quit)
现在要测试API,如果转到http://localhost:5000/python-libs,您将在中获得相同的json数据库.json. 在
[{"id":1,"name":"pyjserver","version":"1.0.0"},{"id":2,"name":"flask","version":"1.1.0"},{"id":3,"name":"flask-restful","version":"0.3.8"}]
使用相同的URL,您可以发送POST请求以添加,PUT请求用于编辑,删除请求以从json文件中删除。在
TIP
对于每个json键,将使用GET、POST、PUT和DELETE HTTP方法创建一个端点。
您还可以在根url(http://localhost:5000/)中看到所有可用的端点。在
{"endpoints":[{"name":"python-libs","route":"/python-libs"}],"methods":["GET","POST","PUT","DELETE"]}
JSON文件架构
Format:JSON对象,包含JSON对象列表。在
Main JSON key:端点的名称
JSON list value:列出端点的所有记录。要开始时没有数据,只需放置一个空列表[]
^{str1}$JSONs在列表中:端点的每条记录。不要忘记为每个记录添加顺序ID
键
{"endpoint-1":[{"id":1,"name":"data 01"},{"id":2,"name":"data 02"}],"endpoint-2":[{"id":1,"name":"another data 01"}],"endpoint-3":[]}
因此,上面的JSON将创建3个端点/endpoint-1
(有2个记录数据)、endpoint-2
(有1个记录数据)和{
{"endpoints":[{"name":"endpoint-1","route":"/endpoint-1"},{"name":"endpoint-2","route":"/endpoint-2"},{"name":"endpoint-3","route":"/endpoint-3"}],"methods":["GET","POST","PUT","DELETE"]}
HTTP方法
对于创建的每个端点,允许使用GET
、POST
、PUT
和{
- 得到
>>> curl http://localhost:5000/endpoint-1/ [{"id":1,"name":"data 01"},{"id":2,"name":"data 02"}]
- 岗位
>>> curl -d '{"name": "data 03"}' -H 'Content-type: application/json' -X POST http://localhost:5000/endpoint-1/ {"id":3,"name":"data 03"} >>> curl http://localhost:5000/endpoint-1/ [{"id":1,"name":"data 01"},{"id":2,"name":"data 02"},{"id":3,"name":"data 03"}]
- 把
>>> curl -d '{"name": "data 02 edited"}' -H 'Content-type: application/json' -X PUT http://localhost:5000/endpoint-1/2 {"id":2,"name":"data 02 edited"} >>> curl http://localhost:5000/endpoint-1/ [{"id":1,"name":"data 01"},{"id":2,"name":"data 02 edited"},{"id":3,"name":"data 03"}]
- 删除
>>> curl -X DELETE http://localhost:5000/endpoint-1/2 {} >>> curl http://localhost:5000/endpoint-1/ [{"id":1,"name":"data 01"},{"id":3,"name":"data 03"}]
记住:所有数据都在db.json
文件中,因此对HTTP方法的任何更改也会更改该文件。
因此,如果更改文件,它将更改API。在
注意:如果编辑json文件并添加一个运行pyjserver的端点,则需要重新启动应用程序以加载新的端点。 但如果您编辑文件并添加新记录,则不必这样做。在
许可证
麻省理工学院
- 项目
标签: