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定时器使用示例分享
Feb 16 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
python的mysqldb安装步骤详解
Aug 14 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
Python堆排序原理与实现方法详解
May 11 Python
Python简单计算给定某一年的某一天是星期几示例
Jun 27 Python
python爬取网易云音乐评论
Nov 16 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
最小二乘法及其python实现详解
Feb 24 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 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
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
jquery实现广告上下滚动效果
2021/03/04 jQuery
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
教师专业自荐书范文
2014/02/10 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
西安导游词
2015/02/12 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
旗帜观后感
2015/06/08 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
党性修养心得体会2016
2016/01/21 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
SSM VUE Axios详解
2021/10/05 Vue.js