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;
}
}