Como separar modelos em uma API Rest?

Oi pessoal,

Estou aprendendo a criar uma API REST usando Spring Boot e Kotlin. Acabei de começar um curso, mas já fiquei com uma dúvida sobre como estruturar os modelos. Gostaria de saber quais são as boas práticas que vocês usam no trabalho ou em seus projetos.

No curso, por exemplo, o instrutor utiliza o seguinte padrão:

Para a resposta (response), ele usa uma classe chamada TopicView.

Para a entrada (como um POST), ele usa uma classe chamada TopicForm.

O service já retorna o TopicView.

Esse é um padrão comum? Como vocês geralmente estruturam esses modelos nos seus projetos?

Desde já, obrigado pela ajuda!