美文网首页
FastApi 中间件中获取请求体参数的方式

FastApi 中间件中获取请求体参数的方式

作者: 楠木cral | 来源:发表于2022-09-14 13:45 被阅读0次

在FastApi中有时候我们有要获取请求参数的需求,就需要在这中间件中拦截请求request来获取参数做处理。
通过中间件,拿到request我们能看到,路径参数和query_params都能轻易取到。
获取request_body,这里提供两种方式,直接通过receive = await request._receive()获取,会导致请求阻塞,所以需要把数据放获取,在中间环节拿到数据。


def de(func):
    async def wrapper():
        return func

    return wrapper

async def set_body(request: Request):
    receive_ = await request._receive()
    async def receive():
        return receive_
    request._receive = receive

@fast_app.middleware("http")
async def sendErrorLog(request: Request, call_next):
    """获取request body"""
         # 1 
        # receive = await request._receive()
        # request._receive = de(receive)

        # 2 
        await set_body(request)
        # data = await request.json()   # 直接拿json格式
        # data = await request.body()
        response = await call_next(request)

相关文章

  • FastApi 中间件中获取请求体参数的方式

    在FastApi中有时候我们有要获取请求参数的需求,就需要在这中间件中拦截请求request来获取参数做处理。通过...

  • Gin-获取POST请求参数

    有默认值方式获取POST请求参数 无默认值方式获取POST请求参数 获取POST请求参数的同时,返回参数获取状态,...

  • Gin-获取GET请求参数

    有默认值方式获取GET请求参数 无默认值方式获取GET请求参数 获取GET请求参数的同时,返回参数获取状态,状态为...

  • HTTP请求获取和返回参数的方式

    HTTP请求获取参数的方式: HTTP请求返回参数的方式:

  • springboot get,post请求001

    请求方式注解 获取请求参数的几种方式 1、不带键值直接从路径中获取 postman请求格式如下:192.168.3...

  • gf框架请求

    获取GET请求参数 Server: 执行请求: 获取POST请求参数 执行请求: 获取任意提交方式的请求数据 执行...

  • 2020-03-05

    java从request中获取GET和POST请求参数 URL和参数列表 一 获取请求方式 request.get...

  • Spring MVC

    @PathVariable用于获取RestUrl参数 , @ModelAttribute用于将请求体中JSON与模...

  • express获取数据的方法

    一.get请求(获取url上面的参数) 二.post请求(获取请求体里面的参数) 1.先安装body-parser...

  • FastAPI 请求参数

    RESTful API 简介 这里只做简单介绍,更多信息请查看阮一峰的文章RESTful API 设计指南[htt...

网友评论

      本文标题:FastApi 中间件中获取请求体参数的方式

      本文链接:https://www.haomeiwen.com/subject/dxsxgrtx.html