Skip to main content

Apis tool base fastapi

Project description

xfapi 第三方库使用说明

一、概述

xfapi 是一个基于 FastAPI 框架开发的轻量级 RESTful API 框架。它允许通过 YAML 文件来配置 API 接口以及业务逻辑关联,并支持基础的 token 验证。xfapi 旨在提供高效、易用和可扩展的 API 开发体验。

二、安装

可以通过 pip 安装 xfapi:

pip install xfapi

三、配置文件示例

xfapi 使用 YAML 文件来配置 API 接口。以下是一个示例配置文件:

apis:
- name: "token"
  path: "/token"
  method: "POST"
  handler: "apis.handler_token"

- name: "index"
  path: "/"
  method: "GET"
  handler: "apis.index"
  • name: 接口的名称(可选)。
  • path: 接口的路径。
  • method: 请求方法(GET, POST, PUT, DELETE 等)。
  • handler: 处理该接口的回调函数所在的模块和函数名(使用点号 . 分隔)。

四、回调函数示例

回调函数是处理 API 请求的逻辑函数。以下是一个简单的示例:

from fastapi import Request
from xfapi.utils.auth import JWTUtils

def handler_token(data: dict):
    # token 方法示例(post)
    jwt = JWTUtils()
    token = jwt.encode_token({
        "data": data,
    })
    return {"token": token}

def index(request: Request):
    # get方法示例
    print(request.query_params)
    return {"data": "data"}

# ... 其他方法同理,支持 get, post, put, delete 等方法
  • data: 在 POST 请求中,可以通过参数直接获取请求体数据。
  • request: 在 GET 或其他请求中,可以通过 Request 对象获取请求信息。

五、调用示例

以下是如何使用 xfapi 启动服务器的示例:

from xfapi.server import HTTPServer
from xfapi.utils.auth import TokenMiddleware

# 假设你已经有了 TokenMiddleware 的实现
token_middleware = TokenMiddleware()

# 创建一个 HTTPServer 实例,并传入 token 验证中间件
server = HTTPServer(auth_middleware=token_middleware.token_validation_middleware)

# 启动服务器
server.start()

在启动服务器后,xfapi 会根据 YAML 配置文件自动注册路由,并打印相关信息到控制台。

六、日志示例

服务器启动成功后,你可能会在控制台看到以下日志:

INFO:xfapi.server:注册路由: /token POST -> apis.handler_token
INFO:xfapi.server:注册路由: / GET -> apis.index
INFO:     Started server process [43522]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

七、总结

xfapi 是一个基于 FastAPI 的轻量级 RESTful API 框架,它允许你通过 YAML 文件配置 API 接口和业务逻辑关联,并支持基础的 token 验证。使用 xfapi 可以帮助你更高效地构建、部署和维护 API 服务。希望这个使用说明能够帮助你快速上手 xfapi!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xfapi-0.1.6.tar.gz (9.5 kB view details)

Uploaded Source

File details

Details for the file xfapi-0.1.6.tar.gz.

File metadata

  • Download URL: xfapi-0.1.6.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for xfapi-0.1.6.tar.gz
Algorithm Hash digest
SHA256 0e6b80b622329627bbc4b05a9d29d5909421d98c00b34e62a683b57ffaace47b
MD5 e47d419b95cc02101e14507160a3eb18
BLAKE2b-256 a9d3fd3266b9cf41c4d5d350bd377e7c63aaf246e3baf1842b922ec46a07df22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page