Здравствуйте, vaa, Вы писали:
Есть, наверное, какое-то поле, по которому можно определить конкретный тип сообщения?
1. Можно так:
app.MapPost("/", async (JObject payload) => {
var type = payload["type"];
swithch(type) {
case "type1": return Handle(payload.ToObject<MessageType1>());
case "type2": return Handle(payload.ToObject<MessageType2>());
default: return UnknownMessage(type);
}
});
2. Можно сделать иерархию классов WebHookMessage и через что-то вроде
https://github.com/manuc66/JsonSubTypes десериализовывать сразу в конкретный тип.
app.MapPost("/", async (WebHookMessageBase payload) => {
return GetHandler(payload.GetType()).Handle(payload);
});