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根据路径导入模块的方法
Sep 30 Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
利用aardio给python编写图形界面
Aug 21 Python
Python开发的十个小贴士和技巧及长常犯错误
Sep 27 Python
Python实现的简单线性回归算法实例分析
Dec 26 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
Python实现Word文档转换Markdown的示例
Dec 22 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
自己做矿石收音机
2021/03/02 无线电
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
JS 控制小数位数的实现代码
2011/08/02 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
Javascript的this详解
2019/03/23 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
Python匹配中文的正则表达式
2016/05/11 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
详解python中各种文件打开模式
2020/01/19 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
Python sorted排序方法如何实现
2020/03/31 Python
如何提高python 中for循环的效率
2020/04/15 Python
python实现批量转换图片为黑白
2020/06/16 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
如何删除一个表里面的重复行
2013/07/13 面试题
网络编辑求职信
2014/04/30 职场文书
2016七夕情人节感言
2015/12/09 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python