Hi Imran,
Events defined in the OpenAPI implement event carried state transfer pattern. This effectively means that entire entities are transfered and not only delta values.
This is a design choice. The choice has indeed the disadvantage that it is not immediately clear what it changed.
It has however an important advantage in systems where many systems are interested in the same messages. If the entire entity is not included most of these systems would on receipt of the event perform a GET operation to retrieve the entire entity. By including the entity this can be avoided and this results in higher performance of the entire architecture.
Did you know that a several libraries exist to establish the difference between two json objects. JSON-diff and JSON-patch perfform these kind of actions.
This can potentially be helpfull to simplify your task.
Regards
------------------------------
Koen Peeters
OryxGateway
------------------------------