Re: json webhook
От: RushDevion Россия  
Дата: 24.05.22 10:41
Оценка: 15 (1)
Здравствуйте, 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);
});
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.