I’d say from my observations it is less natural for ktor. You need to do some scaffolding around to do classic controllers and domain services working transparently (unlike in Spring or Jersey where it is just required by the framework). Ktor promotes more simplistic functional design, which may or may not be appropriate, depending on the size and complexity of the project.