使用flask实现restfulapi

详细介绍Flask-Restful Flask-RESTful 是一个用于 Flask web 框架的扩展,旨在简化 RESTful API 的开发过程。REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格和开发方式,基于 HTTP 协议,可以利用 URI、HTTP 方法(如 GET、POST、PUT、DELETE 等)以及表示层数据格式(如 JSON)来创建具有高度可扩展性的服务。 阅读详情

今天早上想快速实现几个临时使用的http接口,供其他人调用,之前都是使用java去写的,最近因为都玩着python,第一时间想到使用flask去实现试试,也体验下flask轻量级的框架。

在https://flask-restful.readthedocs.io/en/latest/上快速过了一次示例文档,也在度娘上看了下其他人的例子,但很多都是只写了服务端或者只写了客户端,两端同时实现的示例很少。

服务端实现

下述实现分别支持post和get的服务端,在实现过程中发现传参存在多种形式,例如参数在header还是在body中,数据格式是text还是json,这是需要注意的,因为影响到调用时参数位置及参数格式的设置。

#!/usr/bin/env python
import sys
from flask import Flask, jsonify
from flask import abort
from flask import request
import logging
import time
logging.basicConfig(format='[%(levelname)s %(asctime)s %(filename)s %(lineno)s]:%(message)s', filename='http_server.log',level=logging.INFO)
app = Flask(__name__)

@app.route('/phone/risk', methods=['POST', 'GET'])
def phone_restful():
    phone = ''
    appid = ''
    if request.method == "POST":
        phone = request.form.get('phone')
        appid = request.form.get('appid')
    if request.method == "GET":
        phone = request.args.get('phone')
        appid = request.args.get('appid')
    print('phone=%s, appid=%s' % (phone, appid))
    #在这实现功能逻辑

    return jsonify({'retcode': ret, 'message':'成功', 'data':data})

def task():
    #拉起http服务进程
    app.run(host="0.0.0.0", port=1688, threaded=True)

if __name__ == '__main__':
    task()

测试

使用postman测试post

使用postman测试get

客户端实现

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import os
import sys
import json
import time
import requests
#post的方式
def post_fun(phone, appid):
    url = 'http://xxx.xxx.xxx.xxx:1688/phone/risk'
    headers = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)','Content-Type': 'application/x-www-form-urlencoded'}
    values = {'phone':phone,'appid':appid}
    response  = requests.post(url, data =values, headers = headers)
    if response.status_code == 200:
        print('成功')
    else:
        print('失败')
#get的方式
def get_fun(phone, appid):
    url = 'http://xxx.xxx.xxx.xxx:1688/phone/risk?phone=%s&appid=%s' % (phone, appid)
    response  = requests.get(url)
    if response.status_code == 200:
        print('成功')
    else:
        print('失败')


if __name__ == '__main__':
    phone = '13333333220'
    appid = 'goodboy16888'
    post_fun(phone, appid)
    get_fun(phone, appid)

一个极简单的示例,希望对新手有所帮助。

Flask如何实现RESTful API设计? Python的Flask框架因其轻便、灵活和易于扩展的特性,成为了开发RESTful API的优选工具。通过遵循RESTful原则和设计良好的端点,你可以创建一个强大且易于使用的API,为客户端应用程序提供数据和服务。在开发过程中,记得考虑安全性、性能和可用性等因素,以确保你的API能够满足用户的需求并应对未来的挑战。要创建一个新的待办事项,你可以发送一个包含JSON有效负载的POST请求到相同的URL。:客户端和服务器之间的通信必须是无状态的,即每个请求必须包含理解该请求所必需的所有信息。 阅读详情

相关推荐

Python在Web开发中如何结合Flask框架构建RESTful API

一、引言在当今数字化时代,Web应用已经深入到我们生活的方方面面。而构建高效、稳定的Web应用离不开后端技术的支持。Python作为一种强大的编程语言,其在Web开发领域的应用也日趋广泛。其中,Flask框架作为Python的轻量级Web框架,因其简单、灵活和可扩展的特性而备受开发者青睐。本文将详细探讨如何使用Python结合Flask框架来构建RESTful API。二、Flask框架概述Flask是一个轻量级的Web应用框架,使用Python语言编写。

aronSandy的博客 1307

Python flask-restful 框架讲解

Django 和 Flask 一直都是 Python 开发 Web 的首选,而 Flask 的微内核更适用于现在的云原生微服务框架。但是 Flask 只是一个微型的 Web 引擎,所以我们需要扩展 Flask 使其发挥出更强悍的功能。Flask-RESTful 就是 Flask 扩展中的佼佼者,它增加了对快速构建 RESTful API 的支持,将 Flask 封装了一层,使其更容易、更快速、更便捷的开发 RESTful API。

freeking101的博客 3542

Python和Flask构建简单的RESTful API

在Web开发中,构建RESTful API是一种常见的方式,用于与应用程序的前端或其他服务进行通信。本文将介绍如何使用Python和Flask框架构建一个简单的RESTful API,以提供关于用户的基本信息的服务。

tutututu12345678的博客 528

41、flask--Restful详解

一、介绍Restful 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"APIFirst"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。 二、安装: Flask-Restful需要在Flask 0.8以上的版本,在Python2.6或者Python3.3上运行。通过pip inst...

qq_39432161的博客 7298

Flask 学习-41.Flask-RESTPlus 入门到放弃

Flask-restfull 是flask 框架开发接口的一个框架,Flask-RESTPlus是Flask-restfull 升级版,功能做了一些优化,主要是可以生成swagger 在线文档了

qq_27371025的博客 1533

实战指南:基于华为Ascend NPU的大模型W8A8量化调优与精度提升

本文提供了一份基于华为Ascend NPU进行大模型W8A8量化的实战调优指南。详细介绍了从环境搭建、使用msmodelslim框架进行基础量化,到通过离群值抑制、校准集优化和量化回退等关键技术提升精度的全流程。旨在帮助开发者在华为NPU硬件上实现模型推理的显著加速,同时有效控制精度损失。

weixin_29227425的博客 271

flask-restful 组件

Flask-restful 是一个 Flask 扩展,它添加了快速构建 REST APIs 的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。Flask-RESTful 鼓励以最小设置的最佳实践。如果你熟悉 Flask 的话,Flask-restful 应该很容易上手。关于flask的使用,参考我之前的博客:https://blog.youkuaiyun.com/qq_62789540/article/details/124781918关于flask的组件,参考我之前的文章:https://blog

一个专注于机器学习基础与实战的技术博客,内容涵盖算法推导、模型实现、数学原理与代码实践。用通俗的语言解析复杂概念,记录学习过程中的思考与总结,适合机器学习爱好者和从业者参考。 1529

手把手教你理解ARM SoC中的PPU:电源管理IP的配置与实战避坑指南

本文深入解析ARM SoC中的PPU(Power Policy Unit)电源管理IP,提供详细的配置指南与实战避坑技巧。从PPU基础架构、寄存器配置到与PCSM的协同工作,全面介绍如何优化电源管理策略,解决常见配置误区,并分享高级调试与性能优化方法,助力工程师提升低功耗SoC设计效率。

weixin_28693447的博客 479

在Linux下 使用 Flask 或 Django 开发 RESTful API

app.route() 装饰器告诉 Flask 哪个 URL 可以触发我们的函数。RESTful API是目前比较流行的一种API设计风格,它提供了一系列的面向资源的接口,便于客户端和服务器之间的通信。请确保在运行Flask应用程序之前,已经安装了依赖项,并且应用程序正在监听正确的主机和端口。在使用Flask开发RESTful API之前,需要对其进行配置,并创建一个应用程序。现在我们需要创建一个简单的API来测试我们的项目是否正常工作。是一个占位符,用于指定要获取的用户的ID。

d15100302495的博客 427

IEC61850 通信协议测试验证实战指南:从理论到实践

本文提供了一份全面的IEC61850通信协议测试验证实战指南,强调测试必须从理论走向工程实践。文章详细讲解了如何搭建测试环境,并深入剖析了MMS、GOOSE、SV三大核心协议的实战测试方法,旨在帮助工程师通过系统化的测试验证,确保电力自动化设备的互操作性与通信可靠性。

weixin_29204121的博客 170

FPGA,关于安装使用libero IDE V9.2 及其gold floating license配置

3、license安装根据,下面的提示进行,跟随setting up the license server on a host教程操作。1、从官网下载Libero IDE v9.2(如下图中的Libero IDE v9.2 software)4、下载完成license解压包后还需要下载 Daemons license ,地址如下。(2)第一行并不是在内填写,而是直接用您电脑名替换掉(1)修改license.bat前四行是,其务必保持和案例位置相同(避免出错)............

JasonK的博客 4295

Python之Flask入门教程

Flask是一个用python编写的Web应用程序框架。Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask。Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。Flask也被称为“microframework” ,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

m0_59485658的博客 3746

Trae IDE与Playwright MCP:5分钟实现零代码网页数据抓取

网页数据抓取是数据采集和自动化处理中的基础技术,其核心原理是通过程序模拟浏览器行为,定位并提取页面中的结构化信息。传统方式依赖编写脚本处理网络请求、解析HTML和应对反爬机制,技术门槛较高。而结合AI与自动化工具的新范式,通过自然语言交互即可完成复杂操作,极大降低了技术门槛并提升了开发效率。这种技术价值在于将开发者从繁琐的编码中解放,使其更专注于数据分析和业务逻辑。在数据监控、市场调研、竞品分析等应用场景中,快速获取网页数据是关键需求。本文以Trae IDE集成Playwright MCP为例,演示如何通过

culi3118的博客 498

Python Flask高级编程之RESTFul API前后端分离(学习笔记)

接下来,我们需要定义 API 的路由和处理函数。在 Flask 中,可以使用@app.route这里的/users表示路由的路径,表示这个路由只支持 GET 方法。get_users函数是这个路由的处理函数,它返回一个 JSON 格式的用户列表。同样的,我们还可以定义其他路由和处理函数,比如获取指定用户信息、添加用户、修改用户信息和删除用户等。

weixin_45897172的博客 2586

openbmc mctp i3c适配步骤

本文介绍了在Intel OKS平台下,BMC作为I3C从设备如何适配MCTP over I3C的实现方法。主要内容包括:1)关键术语解释,如MDB(Mandatory Data Byte)值为0xAE,DCR(Device Characteristics Register)和BCR(Bus Characteristics Register)的设置;2)适配流程说明,包括BMC作为控制器主节点分配地址后成为MCTP端点,CPU作为总线所有者的角色转换;3)测试验证步骤,展示通过mctp-client工具发送指

wit_yuan的专栏 132

一种基于机载LiDAR点云电力线自动提取方法

文章目录一、引言二、算法实现2.1实现步骤2.2实现代码 一、引言 二、算法实现 2.1实现步骤 (1)首先采用首先采用高程滤波方法去除地面点和低矮地物点,滤波后的点云数据中除电力线点云外还含部分杆塔点、高植被点和噪声点。 (2)根据点云空间维度特征提取电力线点,使用空间密度聚类的方法实现单根电力线精确分离。 2.2实现代码 在这里插入代码片 ...

dayuhaitang1的博客 5170

Python——Flask的进阶

Flask-RESTful是一个扩展,使得构建RESTful APIs变得更加容易和优雅。Flask-Migrate是一个数据库迁移工具,可以方便地管理数据库模式的变更。它与Flask-SQLAlchemy配合使用,使得数据库结构的修改变得简单而安全。Flask-SQLAlchemy是一个方便的工具,用于在Flask应用中进行SQL数据库操作。它与Flask的扩展性很好地结合,可以轻松地集成到你的应用程序中。Flask-Cache是一个缓存扩展,可以用于缓存视图函数的输出结果,加快页面响应速度。

weixin_58440006的博客 1255

单片机:实现MPU6050的卡尔曼滤波算法(附完整源码)

单片机:实现MPU6050的卡尔曼滤波算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 796

python3-Flask实现Api接口

原文:python3-Flask实现Api接口_flask api_Shiro to kuro的博客-优快云博客

张伟的专栏 1151

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

解释Python中的RESTful API设计和实现

Python通过其灵活性和强大的生态系统,使得设计和实现RESTful API变得相对简单。无论是使用轻量级的Flask还是功能丰富的Django REST framework,开发者都可以快速构建出符合REST原则的Web服务接口,为客户端提供统一、可靠的数据访问方式。

Layla_c的博客 544

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

用Flask创建API

RESTful API(表述性状态转移)是一种遵循以下原则的 Web 服务:每个资源(例如用户、产品、帖子等)都由唯一的 URI(统一资源标识符)标识,例如/users/1或/products/42。客户端可以使用HTTP方法对资源进行不同的操作,例如GET、POST、PUT、PATCH、DELETE等。例如,要创建一个新用户,客户端可以发送一个POST请求到用户数据/users在请求正文。要更新现有用户,客户端可以将请求/users/1正文中的更新数据发送到 PUT 或 PATCH 请求。

alafaqi的博客 1418

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Flask-RestfulApi 实现数据库增删改查, 我做了哪些事 ?

本文记录了一个基于Flask框架的图书管理API开发过程。项目采用三层架构设计:资源层(Resource)处理HTTP请求,服务层(Service)实现业务逻辑,模型层(Model)映射数据库表结构。主要功能包括通过ID查询图书、获取图书列表、新增和修改图书信息等RESTful API。使用SQLAlchemy进行数据库操作,通过Flask-RESTful构建API端点。

zzhzzhniub的博客 1018

Python中的API构建指南:在Flask中进行API开发

使用Flask和Python设置API的方法非常简单。通过学习上文,我们就有了一种易于使用的标准化方法,可以在不同接口之间进行通信交互。GET、POST、PUT和DELETE。200、401和404。最后,我们还学习了如何在本地托管我们的API并通过 Postman 对其进行测试,从而让我们能够快速诊断问题并确保我们的API正常运行。总而言之,API开发对于开发人员来说,几乎是任何其他技术领域都是至关重要的技能。--END--如果你对人工智能感兴趣,那么一定要关注我们!

张伟的专栏 1536

Python Flask 之 RESTful 讲解与示例演示

REST(Representational State Transfer)风格是一种面向资源的 Web 应用程序设计风格,它遵循一些设计原则,使得 Web 应用程序具有良好的可读性、可扩展性和可维护性。资源标识符:在 RESTful 风格中,每个资源都有一个唯一的标识符,通常是一个。URL 用于标识资源的位置,使得客户端可以使用 HTTP 协议进行访问。,其中“products”表示资源类型,“123”表示资源标识符。表示层:资源可以以不同的格式表示,例如JSONXMLHTML等。

匠人精神,持之以恒! 838

【完整代码】电商购物系统Python,基于Flask框架实现

电商购物系统Python,基于Flask框架实现。实现用户查看商品、购买商品、添加购物车、商城订单、编辑个人信息、点击喜欢不喜欢等、商品评论、登录注册、查看物流信息等功能。实现商家发布商品、查看销售列表、管理商品、物流信息更新、个人信息修改等功能。简洁而灵活:Flask的设计理念是保持简单和可扩展性。它提供了基本的功能和组件,但没有过多的限制和约束,让开发者能够根据自己的需求进行灵活的定制和扩展。易于学习和使用:Flask的API简单易懂,文档清晰明了,使得初学者能够快速上手。

子午的博客 2410

四 后端:Flask+数据库Sqlite

四 后端:Flask+数据库Sqlite

Jumy_S的博客 583
上一篇: softmax函数python实现
下一篇: ubuntu上构建jupyter notebook环境
&捕风的汉子&
博客等级 码龄17年 27粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值