The current M3 Converter scaffolding is suboptimal.
Converters are created in every controller for the same classes.
If you need to rework a converter for an entity, you need to push-in all converters for this entity in all affected controllers.
From our point of view, a better approach (dry) is:
- a default converter should be provided by the entity.
- on application startup, the GenericConversionService should register all converters in the entities.
- additionally, it should be possible to add/replace converters in specific controllers to be as flexible as possible.
Another approach would be, to introduce a conversion object for each entity in the web layer if you do not want to mix presentation with persistence layer.
Description described above would possibly also fix