zdppy_api框架快速入门

2023-12-30 10:52
文章标签 入门 快速 框架 api zdppy

本文主要是介绍zdppy_api框架快速入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

zdppy_api是一款为了快速开发而生的,基于异步的,使用简单的Python后端API接口开发框架。
本框架的目标是让Python后端开发变得越来越简单,直到发现原来还可以更简单!
一切都是为了提高开发效率!!!

响应文本

服务端:

from api import resp, Api# 创建应用
app = Api(routes=[resp.text_route("/", "你好,张大鹏")])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqprint(req.get('http://127.0.0.1:8000/').text)

响应JSON

服务端:

from api import resp, Api# 创建应用
app = Api(routes=[resp.json_route("/", {"msg": "你好,张大鹏"})])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqprint(req.get('http://127.0.0.1:8000/').json())

响应文件

准备data/test.txt文件:

a
b
c
123

服务端:

from api import resp, Api# 创建应用
app = Api(routes=[resp.dir_route("/", "data")])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqprint(req.get('http://127.0.0.1:8000/test.txt').text)

获取查询参数

服务端:

from api import req, resp, Apiasync def index(request):"""生成路由方法"""name = req.get_query(request, "name")return resp.json({"name": name})# 创建应用
app = Api(routes=[resp.route("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqprint(req.get('http://127.0.0.1:8000/?name=zhang大鹏').json())

获取路径参数

服务端:

from api import req, resp, Apiasync def index(request):"""生成路由方法"""a = req.get_path(request, "a")b = req.get_path(request, "b")c = req.get_path(request, "c")d = req.get_path(request, "d")return resp.json({"a": a, "b": b, "c": c, "d": d})# 创建应用
app = Api(routes=[resp.route("/{a}/{b:int}/{c:float}/{d:path}", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqprint(req.get('http://127.0.0.1:8000/hello/11/22.22/33/44.txt').json())

获取请求头参数

服务端:

from api import req, resp, Apiasync def index(request):"""生成路由方法"""token = req.get_header(request, "Token")user_agent = req.get_header(request, "User-Agent")return resp.json({"token": token, "user_agent": user_agent})# 创建应用
app = Api(routes=[resp.route("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqheaders = {"Token": "xxx","User-Agent": "abc"
}
print(req.get('http://127.0.0.1:8000/', headers=headers).json())

获取文本类型的参数

服务器:

from api import req, resp, Apiasync def index(request):"""生成路由方法"""data = await req.get_text(request)return resp.json({"data": data})# 创建应用
app = Api(routes=[resp.post("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqheaders = {"Content-Type": "application/text"}
print(req.post('http://127.0.0.1:8000/', data="hello,world", headers=headers).json())

获取JSON数据

服务端:

from api import req, resp, Apiasync def index(request):"""生成路由方法"""data = await req.get_json(request)return resp.json({"data": data})# 创建应用
app = Api(routes=[resp.post("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqdata = {"name": "zhangsan", "age": 33}
print(req.post('http://127.0.0.1:8000/', data=data).json())
print(req.post('http://127.0.0.1:8000/', json=data).json())

文件上传

服务端:

from api import req, resp, Api# 创建应用
app = Api(routes=[resp.upload("/upload", "data")])if __name__ == '__main__':import uvicornuvicorn.run("server:app")

客户端:

import reqfiles = {"file": open("server.py")}
print(req.post('http://127.0.0.1:8000/upload', files=files).json())

这篇关于zdppy_api框架快速入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/552612

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs