flask、fastapi在服务器制作接口携参访问返回参数

flask创建接口:

一、安装python

官网下载Download Python | Python.org

二、安装flask

在选择的文件夹路径cmd调用bash安装

pip install Flask

三、创建flask应用

# app.py  
from flask import Flask, request, jsonify  app = Flask(__name__)  @app.route('/echo', methods=['GET', 'POST'])  
def echo():  # 获取GET或POST请求中的参数  params = request.args if request.method == 'GET' else request.json  # 将参数转换为字典,并返回  return jsonify(params)  if __name__ == '__main__':  app.run(host='0.0.0.0', port=5000, debug=True)

 四、运行flask应用

python app.py

 

五、测试接口

http://云服务器IP:5000/echo?name=John&age=30

http://云服务器IP:5000/echo?name=John&age=30

调用成功后会返回参数并在监控台打印对应访问信息
 

fastapi uvicorn创建

一、安装fastapi uvicorn

选择文件夹cmd打开bash

pip install fastapi uvicorn

 二、创建接口文件

from fastapi import FastAPI  app = FastAPI()  @app.get("/echo/")  
async def echo_params(q: str = None, another_param: int = None):  # 这里q是查询参数,another_param是另一个查询参数(在这个例子中我们假设它是整数)  # 注意:查询参数是可选的,所以它们都有默认值(这里q默认为None,another_param默认为None,但类型注解指定了int,所以实际中你可能需要处理转换错误或使用Union[int, None])  # 为了简化示例,我们假设another_param总是整数,如果不传递或传递的不是整数,将引发错误  return {"q": q, "another_param": another_param}  # 注意:在真实应用中,如果查询参数可能不总是存在或可能不是预期的类型,你应该处理这些情况  
# 比如,使用Pydantic的Query或其他方法来指定类型、默认值、验证等  # 如果要处理更复杂的查询参数,比如列表或字典,你可能需要使用Pydantic模型或Query的额外参数  
# 这里只展示了基本的用法

在这个示例中,我们定义了一个/echo/接口,它接受两个查询参数:qanother_paramq是一个字符串,而another_param被假定为一个整数(但在实际使用中,如果客户端没有传递another_param或传递的不是整数,这里可能会引发错误,因此你可能需要添加额外的错误处理逻辑)。

三、运行接口

uvicorn main:app --reload

 

四、 测试接口

http://127.0.0.1:8000/echo/?q=hello 将返回 {"q": "hello", "another_param": null}(因为another_param没有提供)
http://127.0.0.1:8000/echo/?q=hello&another_param=123 将返回 {"q": "hello", "another_param": 123}

调用成功后会返回参数并在监控台打印对应访问信息 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux服务管理(二)DHCP/FTP服务

DHCP四部曲是指客户机请求IP、服务器响应、客户机选择IP以及服务器确定租约四个步骤的过程。这一系列过程共同构成了DHCP客户机动态获取IP地址的完整流程。下面将详细解读这一过程的每个阶段: 客户机请求IP:也称为DHCPDISCOVER,当一个DHCP客户…

ESXi6.7 update 3主机实现新硬件运行老环境

server 2003 SQL server 2000 SQL SP4 vmware tools 一、适用场景 1、运行多年的老企业,积累的数据量庞大,其中的数据库并不一定都是现在开发的平台或系统,而是已经正在运行,不能停业务的状态。 2、老系统老应用平台&#xf…

IT数据从业人员必读好物——最新发布物开放免费下载!

如今,越来越多的企业开始重视IT在业务中的作用,并寻求通过数字化转型来提升竞争力,且趋向于采用敏捷、灵活的方法来适应快速变化的市场需求。 本月精选发布物,正是为企业的IT管理提供了一个全面的标准化框架,帮助企业系…

如何确保工业展厅设计既专业又吸引?三原则详解!

工业是民族发展的基石,它为我们带来了无数的便利和进步,而为了让更多人了解这个至关重要的产业,以及其背后的技术和产品,许多工业性质的企业都致力于通过互动投影、虚拟现实、全息投影等多媒体技术,来打造独具特色的工…

vue-virtual-scroller-展示大量数据列表-虚拟列表展示优化

安装 -演示 npm i vue-virtual-scrolleryarn add vue-virtual-scrollervue-virtual-scroller 是一个 Vue 组件库,用于高效地渲染大量数据项,通过虚拟滚动来提升性能。它适用于长列表、网格、表格等场景 引入组件 Vue 项目中引入并注册 vue-virtual-scroller 组件。你可以在全…

@金融安全专业人士和风险管理决策者,必读白皮书现开放免费下载!

加快建设金融强国,是中国经济长远发展的战略抉择,更是在经济全球化进程中维护国际金融安全的重要举措,而防控金融风险是建设金融强国的重要保障。 本月最新发布物,聚焦「安全」主题,尤其为金融行业的安全专家&#xff…

『C++成长记』string模拟实现

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ ​ 目录 一、存储结构 二、默认成员函数 📒2.1构造函数 📒2.…

尚品汇-(十二)

(1)数据库表结构 根据以上的需求,以此将SKU关联的数据库表结构设计为如下: base_attr_value:前面学的平台属性值表 我们进行关联,可以从分类导向平台,通过平台过滤商品 (2&#xf…

MySQL—统计函数和数学函数以及GROUP BY配合HAVING

合计/统计函数 count -- 演示 mysql 的统计函数的使用 -- 统计一个班级共有多少学生? SELECT COUNT(*) FROM student -- 统计数学成绩大于 90 的学生有多少个? SELECT COUNT(*) FROM student WHERE math > 90 -- 统计总分大于 250 的人数有多少&…

【SpringCloud应用框架】Nacos命名空间、分组和DataID三者关系

第五章 Spring Cloud Alibaba Nacos之命名空间、分组和DataID三者关系 文章目录 一、名词解释三者关系 二、切换不同环境DataID方案Group方案Namespace空间方案 一、名词解释 命名空间(Namespace) ​用于进行租户粒度的配置隔离。不同的命名空间下&…

GraphRAG

什么是RAG? RAG 是一种自然语言查询方法,用于通过外部知识增强现有的LLM,因此如果问题需要特定知识,问题的答案会更相关。它包括一个检索信息组件,用于从外部源获取附加信息,也称为“基础上下文”&#xf…

pnpm介绍

PNPM 是一个 JavaScript 包管理器,类似于 npm 和 Yarn。它的全称是 "Performant npm",主要设计目标是优化包的安装和管理过程,以提升速度和效率。PNPM 的主要特点包括: 符号链接(Symlink)&#x…

AI产品经理发展与规划

今天引用高飞老师的讲课内容,分享一下,何为AI产品经理?这个话题不仅仅希望介绍AI产品经理的工作方式等方面的内容,更多的在于讨论未来产品经理这个行业应该如何发展?行业壁垒在何处?如何应对中年危机&#…

名企面试必问30题(二十六)——毕业这么久了,为什么还没有找到工作?

回答一: “毕业后的这段时间,我一直在努力寻找最适合自己发展的岗位。我没有急于随便接受一份工作,而是希望能够进入一个与我的专业技能和职业规划高度匹配的公司。在这个过程中,我不断提升自己的技术能力,学习新的测…

PyQT: 开发一款ROI绘制小程序

在一些基于图像或者视频流的应用中,比如电子围栏/客流统计等,我们需要手动绘制一些感兴趣(Region of Interest,简称ROI)区域。 在这里,我们基于Python和PyQt5框架开发了一款桌面应用程序,允许用…

c#类型转换和常见集合类型

目录 1. 整数转换,整数和字符串,字符串和整数之间的转换怎么实现? 2. 日期转换,获取当前日期,字符串转日期,日期转字符串怎么实现? 3. 举例一维、二维、三维数组 4. 需求:有个88…

事务(数据库)

是一组操作的集合,是一个不可分割的工作单位,事物会把所有的操作作为一个整体一起向系统提交或撤销操作请求,这些操作要么同时成功,要么同时失败 create table account(id int auto_increment primary key comment 主键ID,name va…

VPN 的入门介绍

VPN(虚拟专用网络) 简介 虚拟专用网络,简称虚拟专网(VPN),其主要功能是在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实…

14-48 剑和诗人22 - RAG 的主要痛点和解决方案

​​​​​ 检索增强生成 (RAG) 模型已成为一种有前途的方法,它利用存储在文档中的外部知识来提高生成文本的准确性和相关性。通过检索和调节相关的上下文文档,与传统语言模型相比,RAG 模型可以产生更真实、更深入和更具体的响应。 然而&…

诸葛亮的空城计 - 代理模式

定场诗 “无形之中蕴含至理,虚实相生方见大道。” 在三国演义中,诸葛亮的空城计可谓神来之笔。这看似冒险的策略,实则蕴含深意。今天,我们将透过空城计,一窥软件设计中代理模式的奥秘。 西城无人旦夕危,…