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之编写类之二方法
Oct 11 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
python增加矩阵维度的实例讲解
Apr 04 Python
Python实现 PS 图像调整中的亮度调整
Jun 28 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
Django数据库操作之save与update的使用
Apr 01 Python
Python中递归以及递归遍历目录详解
Oct 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
用PHP实现图象锐化代码
2007/06/14 PHP
PHP防注入安全代码
2008/04/09 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
php随机抽奖实例分析
2015/03/04 PHP
PHP5.3新特性小结
2016/02/14 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
JQuery 网站换肤功能实现代码
2009/11/02 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
详解vue.js全局组件和局部组件
2017/04/10 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
Python入门之后再看点什么好?
2018/03/05 Python
python学生信息管理系统
2018/03/13 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
详解Python 中的容器 collections
2020/08/17 Python
如何编写python的daemon程序
2021/01/07 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
乡文化站暑期培训方案
2014/08/28 职场文书
2015年母亲节寄语
2015/03/23 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫