To implement ApiMigration, which supports migrations for backwards compatibility of incoming API requests and responses, a ApiJsonObjectMigrationBuilder and ApiJsonArrayMigrationBuilder were created. These facilitate doing common JSON transformations.
It would make sense to separate this out into a separate library. Or, at the minimum, decouple it further from the notion of API migrations. For example, currently the minimumMinorVersion and targetMinorVersion seem too tightly coupled with the migration functionality.
To implement
ApiMigration
, which supports migrations for backwards compatibility of incoming API requests and responses, aApiJsonObjectMigrationBuilder
andApiJsonArrayMigrationBuilder
were created. These facilitate doing common JSON transformations.However, these seem like common requirements to anyone working with kotlin's
Json
, and I posted a related issue onkotlinx.serialization
.It would make sense to separate this out into a separate library. Or, at the minimum, decouple it further from the notion of API migrations. For example, currently the
minimumMinorVersion
andtargetMinorVersion
seem too tightly coupled with the migration functionality.