Rest 应用层。api模型和内部模型之间的映射

Rest 应用层。api模型和内部模型之间的映射,rest,spring-boot,design-patterns,architecture,software-design,Rest,Spring Boot,Design Patterns,Architecture,Software Design,我有这样的情况 我有控制器代码 @RestController public class MyController implements SomeApi { @Autowired private final MyService myService ; public ResponseEntity<AnswerObject> getSomething (RestModelObject obj) { myService.getSomething(obj); } 我在这里看到

我有这样的情况

我有控制器代码

@RestController
public class MyController implements SomeApi {

@Autowired
private final MyService myService ;

 public ResponseEntity<AnswerObject> getSomething (RestModelObject obj) {
    myService.getSomething(obj);
}
我在这里看到了几个层——rest层、业务层、持久层(假设我有几个数据源——DB和elastic,每个都有一些存储库bean)

正如我们可以看到的,业务层(服务)了解实体,我认为这并不是很好

所以问题是,对于这种情况,什么是最佳实践? 映射应该发生在持久层上吗

或者创建一些额外的层适配器,负责rest模型到内部数据模型之间的映射,并将其注入服务bean,这是一个好主意吗


欣赏任何好的成熟示例。

我认为,这可以在控制器级别上完成,如示例中所示。如果我错了,请纠正我

@Service
public class MyServiceImpl implements MyService {

@Autowired
private final EntityRepository entityRepository;

 public AnswerObject getSomething (RestModelObject obj) {
        Entity entity = entityRepository.getSomething(obj);
        AnswerObject answerObject = map(entity, new AnswerObject());
        return answerObject;
        }
}