Dapr 订阅者参数无法正确反序列化问题

发布时间 2023-06-13 11:26:36作者: Sanctuary

问题描述

在使用Dapr的发布订阅组件时,遇到参数无法正确反序列化的问题,致使拿到的参数属性为默认值,入下图

问题排查

已经添加了UseCloudEvents,仍然没有正确反序列化

app.UseCloudEvents();
app.UseRouting();
app.UseAuthentication();

查看CloudEventsMiddleware中间件源代码

发现中间件在解析完参数后会把解析出的CloudEvent中的data字段中的原始参数写入httpContext.Request.Body,
因此需要在接受参数时,添加[FromBody]

此时即可拿到正确反序列化后的参数