Пожалуйста, посмотрите на пример ниже:
class Foo
class Bar
class Baz
@Component
class FooToBarConverter : Converter<Foo, Bar> {
override fun convert(source: Foo) = Bar()
}
@Component
class BarToBazConverter : Converter<Bar, Baz> {
override fun convert(source: Bar) = Baz()
}
@RestController("/test")
class TestController(val conversionService: ConversionService) {
@GetMapping
fun get() = "test: " + conversionService.convert(Foo(), Baz::class.java)
// must convert Foo to Bar, then Bar to Baz, but throws an exception instead
}
Есть ли способ достичь желаемого поведения, не изобретая велосипед?