Flask搭建一个API服务器的步骤


Posted in Python onMay 28, 2021

一、API列表

 1. 获取作品列表

① 获取手工制作作品列表。

请求格式:

http://api.mculover666.cn:9999/twkk/list/hand_made

返回结果:

{
	goods_num: 3,
	goods_item: [
		{
			goods_id: 1,
			goods_name: "goods1",
			goods_img_url: "xxx"
		},
		{
			goods_id: 2,
			goods_name: "goods1",
			goods_img_url: "xxx"
		},
		{
			goods_id: 3,
			goods_name: "goods1",
			goods_img_url: "xxx"
		}
	]
}

② 获取绘画作品列表。
请求格式:

http://api.mculover666.cn:9999/twkk/list/drawing

返回结果:

{
	goods_num: 3,
	goods_item: [
		{
			goods_id: 4,
			goods_name: "goods1",
			goods_img_url: "xxx"
		},
		{
			goods_id: 5,
			goods_name: "goods1",
			goods_img_url: "xxx"
		},
		{
			goods_id: 6,
			goods_name: "goods1",
			goods_img_url: "xxx"
		}
	]
}

③ 获取证书列表
请求格式:

http://api.mculover666.cn:9999/twkk/list/certificate

返回结果:

{
	goods_num: 3,
	goods_item: [
		{
			goods_id: 6,
			goods_name: "goods1",
			goods_img_url: "xxx"
		},
		{
			goods_id: 7,
			goods_name: "goods1",
			goods_img_url: "xxx"
		},
		{
			goods_id: 8,
			goods_name: "goods1",
			goods_img_url: "xxx"
		}
	]
}

二、安装Flask

打开命令行,创建一份python虚拟环境:

python3 -m venv venv

在当前终端激活虚拟环境:

.\venv\Scripts\Activate.ps1

激活虚拟环境后,安装Flask:

pip install Flask

查看安装结果:

pip list

Flask搭建一个API服务器的步骤

编写一个HelloWorld测试一下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Helloworld'

if __name__ == '__main__':
    app.run()

Flask搭建一个API服务器的步骤

Flask参考教程:https://www.w3cschool.cn/flask/

三、代码实现

# 导入Flask类
from flask import Flask, redirect, url_for, render_template
import json

# 使用当前模块的名称构建Flask app
app = Flask(__name__)

# 装饰器,设置根目录url调用函数
@app.route('/twkk')
def index():
    version = "v1.0.0"
    return render_template('index.html', app_version=version)

# 管理员url
@app.route('/twkk/admin')
def hello_admin():
    return 'Hello admin'

# 获取分类列表
@app.route('/twkk/list/<category>', methods=["GET"])
def get_item_list(category):
    #读取json文件内容
    try:
        if category == 'drawing':
            with open('drawing.json', 'r') as fp:
                json_data = json.load(fp)
                res_data = json.dumps(json_data)
                return res_data
        elif category == 'hand_made':
            with open('hand_made.json', 'r') as fp:
                json_data = json.load(fp)
                res_data = json.dumps(json_data)
                return res_data
        elif category == 'certificate':
            with open('certificate.json', 'r') as fp:
                json_data = json.load(fp)
                res_data = json.dumps(json_data)
                return res_data
    except:
        return ""

# 运行程序
if __name__ == '__main__':
    app.run()

四、API测试

1. 根目录测试

/twkk

Flask搭建一个API服务器的步骤

2. 列表拉取测试

curl localhost:5000/twkk/list/hand_made

Flask搭建一个API服务器的步骤

curl localhost:5000/twkk/list/drawing

Flask搭建一个API服务器的步骤

curl localhost:5000/twkk/list/certificate

Flask搭建一个API服务器的步骤

到此这篇关于Flask搭建一个API服务器的步骤的文章就介绍到这了,更多相关Flask搭建API服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python中处理日期和时间的基本知识点整理汇总
May 22 Python
Python 绘图和可视化详细介绍
Feb 11 Python
Python实现Mysql数据库连接池实例详解
Apr 11 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
Nov 16 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
Python生成器的使用方法和示例代码
Mar 04 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 #Python
解决Python中的modf()函数取小数部分不准确问题
May 28 #Python
利用Python+OpenCV三步去除水印
python实现自定义日志的具体方法
May 28 #Python
python 爬取京东指定商品评论并进行情感分析
python b站视频下载的五种版本
May 27 #Python
教你怎么用python selenium实现自动化测试
You might like
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
VUE实现图片验证码功能
2020/11/18 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
教师党员个人整改措施材料
2014/09/16 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
MySQL为id选择合适的数据类型
2021/06/07 MySQL
Echarts如何重新渲染实例详解
2022/05/30 Javascript
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript