使用Flask和Python开发自己的API

点击下方卡片,关注“小白玩转Python”公众号

本文章将一步一步教你如何使用Flask和Python从头开始设置自己的API。教程结束时,你将能够从头开始设置你自己的API。我将一步一步指导你,使你能够基于Flask和Python开发你自己的API。

99371a4de1606b508bfdb09a549dcfff.jpeg

什么是API?

API代表应用程序编程接口。它是你Web应用程序的后端部分,通常在你的服务器上运行。API通常用于服务于你的前端,并且也可以作为第三方集成的接口。API由一系列服务组成,用于获取或推送数据到你的后端服务器。

你需要什么?

首先,你需要安装Python,你按照以下链接中解释的说明进行安装:

https://www.python.org/downloads/?source=post_page-----395a9edd21dc--------------------------------

现在,由于我们将使用Flask,我们必须安装它,但什么是Flask呢?


“Flask是一个用Python编写的微Web框架。它被归类为微框架,因为它不需要特定的工具或库。[2]它没有数据库抽象层、表单验证或任何其他组件,现有的第三方库提供常用功能。然而,Flask支持扩展,可以添加应用程序特性,就好像它们是在Flask本身中实现的一样。扩展存在于对象关系映射器、表单验证、上传处理、各种开放认证技术和几个常见的框架相关工具。[3]”维基百科


要安装Flask,你可以使用pip(Python的包安装程序):

pip install Flask

构建你自己的Flask API

在以下示例中,我们将设置一个API,以捕获HTTP POST和GET,并简单地返回一条消息以查看它是否工作(你需要创建一个Python文件,例如flask_api.py来运行)。

# Import Flask
from flask import Flaskapp = Flask(__name__)#Define your paths & methods for your API@app.route('/getapi',methods=['GET'])
def getapi():return "GET API test"@app.route('/postapi',methods=['POST'])
def postapi():return "POST API test"#Run the server(by default, the port is 5000)
app.run()

你可以使用这个命令运行应用程序:

python flask_api.py

结果应该是:

264fab63fc83bde1af756380c9b5ccfe.png

代码解释

首先,你需要导入Flask:

# Import Flaskfrom flask import Flask

然后,你必须指定你的API路径,例如对于“127.0.0.1:5000/getapi”:

@app.route('/getapi',methods=['GET'])

对于每个路径,你必须定义一个函数,当请求API路径时将调用该函数。

def getapi():    return print"GET API test"

请注意,你可以配置每个路径支持的方法(在这个例子中,我指定了第一个路径支持GET方法,第二个路径支持POST方法)。最后,你必须运行你的应用程序:

#Run the server(by default, the port is 5000)
app.run()

现在我们可以使用这个在线工具测试API:

https://reqbin.com/?source=post_page-----395a9edd21dc--------------------------------

这是GET请求的结果:

37a18f04d6bb7b8346890e722cc2592e.png

以及POST请求的结果:

a32bc2527003bd3ccf1c354c6ae0dcbb.png

注意:由于服务器在本地运行,服务器IP是127.0.0.1,5000(默认)是端口。

如果你想返回一个JSON而不是简单的文本,那么你可以添加这段代码:

# Import Flask
from flask import Flask
from flask import jsonifyapp = Flask(__name__)#Define your paths@app.route('/postapijson',methods=['POST'])
def postapi():return jsonify({'response': 'JSON response works !'})#Run the server(by default, the port is 5000)
app.run()

结果将是:

847a862513369c065fd90bd65662e6c0.png

·  END  ·

🌟 想要变身计算机视觉小能手?快来「小白玩转Python」公众号!

回复Python视觉实战项目,解锁31个超有趣的视觉项目大礼包!🎁

a0536710ca8af32c70fe200af344bbb3.png

本文仅供学习交流使用,如有侵权请联系作者删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1550015.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 应用层自定义协议与序列化

文章目录 一、应用层1、协议2、序列化 && 反序列化3、通过Json库进行数据的序列化 && 反序列化Json::Value类Json::Reader类Json::Writer类 二、为什么read、write、recv、send和Tcp支持全双工?发数据的本质:tcp支持全双工通信的原因&am…

java计算机毕设课设—超级玛丽游戏(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—超级玛丽游戏(附源码、文章、相关截图、部署视频) 超级玛丽游戏是一款经典的平台游戏,自1985年推出以来,已成为全球玩家心目中的经典之作。玩家操控玛丽奥在多样化的关卡中进行冒…

【综合性渗透利器】- TscanPlus

如果你在寻找一款轻量级、实用且开源的漏洞扫描工具,那么 TscanPlus 绝对值得一试。这款工具由 TideSec 团队打造,以其简洁、高效、易用的特点,广受好评,目前在github上拥有1.5k star。 为什么推荐 TscanPlus? 无论你…

利用ChatGPT实现的生成式人工智能自动化控制系统

一、引言 随着信息化与智能化时代的到来,人工智能(AI)技术迅猛发展,正在深刻地重塑各行业的运营模式。在这一背景下,生成式人工智能(Generative AI)以其卓越的创造力和广泛的应用潜力&#xff…

一种多版本、多人并行开发GIT分支管理规范

首发公众号: 赵侠客 引言 作为开发者每天在写代码的同时也在写BUG,所以一方面需要开发新的需求,另一方面还要填自己以前挖的坑。目前主流程序员都在使用GIT来管理自己的代码,当GIT仓库有多人维护或者项目有多个版本同时迭代开发时…

Axios使用cancel token取消请求

在一个vue项目开发的过程中,遇到一个需要中断文件上传的需求,当我利用axios的cancel token实现中断请求的功能之后,想要再次发送post请求,却发现axios直接返回了reject。 问题复现 当我执行upload方法时,文件能够正常…

PC端微信小程序如何调试?

向往常一样运行开微信小程序开发者工具 如果只弹出pc端小程序,没有出现调试的界面:点击胶囊按钮的三个…选择重新进入小程序 即可依次展开相应的功能调试,改完代码没反应再刷新看看,再没反应就再次重新点击编译并自动调试。

中国AIGC最值得关注企业产品榜单揭晓!首份应用全景图谱发布

“你好,新应用!” 站在大模型落地元年,是时候喊出这句话了。 从软件APP、智能终端乃至具身智能等等,AIGC开始席卷一切。 大模型玩家、互联网巨头、终端厂商、垂直场景玩家纷纷入场,办公、创作、营销、教育、医疗领域…

电瓶车常见电压数据 48v/60v/72v 说明

常见电压数据 48v/60v/72v的区别 48v 基本属于电动自行车,适合10公里内的骑行,速度慢,25公里/时,适合老年人60v 电轻摩,不能带人,适合远距离出行72v 适合外卖小哥 电压和电机功率 48v 电动车通常配备400…

A: 数数(牛客练习赛129)

题目链接: A-数数_牛客练习赛129 (nowcoder.com) 题目描述: 样例输入: 5 样例输出: 0 思路分析: 直接求偶数是困难的,之前好像听过:任何一个大于1的自然数N,都可以唯一分解成有限个质数的乘积。那么就是间接的去做&a…

STM32F103C8----3-2 LED流水灯(跟着江科大学STM32)

一,电路图(接线图) 面包板的的使用请参考:《面包板的使用_面包板的详细使用方法-CSDN博客》 二,目的/效果 三,创建Keil项目 详细参考:《STM32F103C8----2-1 Keil5搭建STM32项目模版&#xff…

每天3分钟,彻底弄懂神经网络的优化器(三)Momentum

前面从最初的SGD开始,介绍SGD的算法细节,以及其在深度神经网络中的劣势,本文引入Momentum算法,解决SGD的一些问题。 1. Momentum算法的提出 动量(Momentum)方法最初由B.T.Polyak在1964年提出。这一方法被…

国庆节快乐|中国何以成为中国

华夏之土,广袤无垠;中华之史,源远流长。自古以来,中原大地物华天宝,人杰地灵,遂成一国,是谓中国。然中国之所以为中国,非徒地大物博、历史悠久也,更有其深厚之文化底蕴、…

改善大模型 RAG 效果:结合检索和重排序模型

最近这一两周不少大厂都已经开始秋招面试了。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑&am…

苹果退出OpenAI融资谈判

🦉 AI新闻 🚀 苹果退出OpenAI融资谈判 摘要:据《华尔街日报》报道,苹果公司已决定不参与OpenAI的新一轮融资,计划筹集约65亿美元(约454.98亿元人民币)。OpenAI正进行从非营利到盈利性公司的转…

【图解秒杀系列】秒杀技术点——隔离、熔断、限流、降级

【图解秒杀系列】秒杀技术点——隔离、熔断、限流、降级 隔离熔断限流降级 隔离 隔离的思想其实就是舱壁模式,这在Docker中有所体现。在Docker中,容器与容器间互相隔离互不影响。一个容器有它独立的与外界隔离的环境与资源,包括CPU、内存等&…

AI读教链《关于美国、中国和BTC的三个超级变量​》

这篇文章探讨了美国、中国及比特币(BTC)当前经济形势中的三个超级变量,强调了对经济状况的重新审视。 美国经济与衰退:尽管有观点认为美国经济正在衰退,文章指出这取决于如何定义衰退。美股市场的市盈率处于高位&#…

实用工具推荐---- PDF 转换

直接上链接:爱PDF |面向 PDF 爱好者的在线 PDF 工具 (ilovepdf.com) 主要功能如下: 全免费!!!!

低功耗4G模组Air780E的串口通信指南

今天我们来讲解低功耗4G模组Air780E的串口通信的基本用法,合宙的小伙伴们,学起来吧! 一、硬件准备 780E开发板一套,包括天线、USB数据线。 USB转TTL工具或线(例如ch340、ft232) PC电脑,串口…

【系统方案】智慧城市大数据平台建设方案(Word)

第1章 总体说明 1.1 建设背景 1.2 建设目标 1.3 项目建设主要内容 1.4 设计原则 第2章 对项目的理解 2.1 现状分析 2.2 业务需求分析 2.3 功能需求分析 第3章 大数据平台建设方案 3.1 大数据平台总体设计 3.2 大数据平台功能设计 3.3 平台应用 第4章 政策标准保障体系 4.1 政策…