![]() | 1 ZeekChatCom 2024-04-01 09:47:05 +08:00 |
![]() | 2 lozzow 2024-04-01 09:48:33 +08:00 @ramirezyolis808 你这个头像给我瞬间看傻了,以为被爆头 |
![]() | 3 kevinmissu 2024-04-01 09:49:59 +08:00 恭喜 |
![]() | 4 beneo 2024-04-01 09:50:27 +08:00 所以你做了什么? |
![]() | 7 Belmode 2024-04-01 10:15:52 +08:00 OP 可以好好地介绍一下自己,搞不好还能再收获一波 |
![]() | 8 abersheeran OP @Belmode #7 感谢建议。 |
![]() | 9 cruzzz 2024-04-01 10:22:34 +08:00 哭泣~ 撒花! |
![]() | 10 LemonZest 2024-04-01 10:35:43 +08:00 via Android 看完附言感觉还是要重新组织语言,感觉你激动到思维混乱了 |
![]() | 11 lambdaq 2024-04-01 10:38:32 +08:00 排面 |
12 lzZzeucJri6FcR0o 2024-04-01 11:28:49 +08:00 我去,刚好去年被 starlette 的一个问题头疼,楼主解答下吗,fastapi 无法在中间件里面获取 request body 和 form ,如果在中间件获取,再次调用会卡住,github issues 里有人也提过,starlette 在去年更新了,将 body 改成了一个缓存,可以在中间件里调用而不会再次调用卡死了,但是我发现 form 表单并没有做缓存处理,还有上面的卡主问题,你知道这部分改动的设计吗,后续还会变动不,虽然官方并不建议在中间件里获取 body |
13 SuperTommy666 2024-04-01 11:33:04 +08:00 tql |
![]() | 14 abersheeran OP @sunshower 哈哈哈,这几天工作特别忙,所以尽快发完去开会了。 |
![]() | 15 abersheeran OP @djasdjds 这是 Starlette 的设计理念导致的,我曾经试图解决过,无果,相关的有很多 PR ,大家都在努力,但是目前也依旧有很多问题。fastapi 的中间件先天残废,用 Depends 代替吧。如果你真的很需要中间件功能,可以试试 kui 。 |
![]() | 16 itechify PRO 恭喜恭喜 |
18 liuweiqing 2024-04-01 14:22:31 +08:00 很厉害 |
![]() | 19 abersheeran OP @anoyi #17 bottle 或者 django 都是有缓存的,kui 也参考了他们的设计做了缓存。Starlette/fastapi 不能解决它主要是因为,他们想把每个 Route 都做成独立的 ASGI 服务,要兼顾 ASGI 标准,就很难做到缓存 Request Body 。我上面提到的几个框架,都没有这么设计,所以可以做自己的缓存。 我个人觉得 Starlette 这么设计是可以的,baize 也大量参考了它的设计,这么做了。但是 fastapi 基于 Starlette 做生产级框架,那不应该让开发人员接触到这么底层的东西。 |
![]() | 20 BearCookie 2024-04-01 15:07:28 +08:00 很感动,太难了,开源 |
21 nullboy 2024-04-01 15:14:04 +08:00 想要看懂 op 的意思,还得用 AI 给我分析了一把.... |
22 crackidz 2024-04-01 15:14:32 +08:00 大佬牛的牛的 |
![]() | 23 abersheeran OP @nullboy #21 哈哈哈,上午急着去开会写的,可能比较乱。本来也不是正式推广什么的,随便写写了,大家也随便看看不用太深究这帖子说的专业方向的内容。 主要是分享一下我的喜悦,以及对 tiangolo 的感谢。这一部分应该是表达清楚了的。 |
24 lzZzeucJri6FcR0o 2024-04-01 16:08:03 +08:00 @abersheeran #19 嗯,当时追踪这个看到 19 年就很多人提了 issues ,去年看的 Starlette 对 body 做了缓存以为解决了,没想到项目里有个地方用了 form 还是无法用新版本的 fastapi 解决这个问题,只能规避下自己做缓存消费 |
![]() | 25 Woodywuuu 2024-04-01 16:08:48 +08:00 大佬牛的 |
![]() | 26 windsound 2024-04-01 16:47:56 +08:00 大佬 666 |
![]() | 27 elseswitch 2024-04-01 18:00:33 +08:00 感谢分享 |
![]() | 28 rancc 2024-04-01 22:32:40 +08:00 恭喜 |
![]() | 29 bugcoder 2024-04-01 23:06:36 +08:00 大佬牛的,向你学习 |
30 x2ve 2024-04-02 07:12:56 +08:00 via iPhone 牛啊 fastapi 也好用 |
![]() | 31 Dragonphy 2024-04-02 09:01:15 +08:00 看了 OP 的博客,还是个文艺青年,已关注 |
![]() | 32 llsquaer 2024-04-02 09:34:07 +08:00 好几年前,看过楼主说的管道用法,当时我还在想啥管道用法 ,进去一看,原来是 棍 的用法。 哈哈,当时就觉得思路新奇,但是没用过 |
![]() | 33 knightgao2 2024-04-02 10:02:07 +08:00 大佬,抓 |
![]() | 34 karott7 2024-04-02 13:24:31 +08:00 恭喜 |
![]() | 35 Sayuri 2024-04-02 13:56:48 +08:00 需要结汇到国内的话可以联系我哦。 tg base64: QHl1enVyaXNhCg== |
36 HowardChan 2024-04-02 14:47:02 +08:00 最近在研究 Langchain 也发现了它通过重写类的魔法方法__or__来实现管道,觉得好有意思。等有时间研究一下 OP 的这个 cool 。 |