如何从 minos 中的 RestRequest 访问 aiohttp 的请求
Posted
技术标签:
【中文标题】如何从 minos 中的 RestRequest 访问 aiohttp 的请求【英文标题】:How can I access the aiohttp's Request from a RestRequest in minos 【发布时间】:2022-01-20 06:52:53 【问题描述】:我有一个用@enroute.rest.command
装饰器装饰的处理函数,所以我的函数接收到一个RestRequest
实例,但我想直接访问aiohttp.web.Request
来直接访问rel_url
属性。我该怎么做?
我当前的代码如下:
from minos.networks import RestRequest, RestResponse, enroute
@enroute.rest.command("/products/create", "POST")
async def handle_product_create(request: RestRequest) -> RestResponse:
...
return RestResponse("created!)
【问题讨论】:
【参考方案1】:minos.networks.RestRequest
提供了raw_request
属性,它可以访问内部的aiohttp.web.Request
实例,以便您可以访问它的任何方法或属性
from aiohttp import web
from minos.networks import RestRequest, RestResponse, enroute
@enroute.rest.command("/products/create", "POST")
async def handle_product_create(request: RestRequest) -> RestResponse:
raw_request: web.Request = request.raw_request
print(raw_request.rel_url)
...
return RestResponse("created!)
【讨论】:
以上是关于如何从 minos 中的 RestRequest 访问 aiohttp 的请求的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Grapevine 4.0 在 RestRequest 和 RestResponse 中传递二进制有效负载?
RestRequest 在本地工作,但不是来自天蓝色“请求被中止:无法创建 SSL/TLS 安全通道。”
Android java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.mino