背景:
因为特定需求,需要多次解析body.
然而在iris中第一次可以解析到,之后解析body都为空.
原因:
iris的官方文档中的“前置自定义读取请求数据数据处理”一章的内容其中一条注释中,写的真的小,怕被发现还是怎么滴。
//你应该通过`app.Run(…,iris.WithoutBodyConsumptionOnUnmarshal)消费body
解决:
添加iris.WithoutBodyConsumptionOnUnmarshal
err = app.Run(
iris.Addr(addr),
iris.WithOptimizations,
//设置此选项为了body的多次消费,可以二次获取body
iris.WithoutBodyConsumptionOnUnmarshal,
)