假设我有一些代码可以对另一个API进行2次rest调用。而且我需要一个服务层在同一操作中进行2个rest调用。
在Java中,我可能会做类似的事情
@Service
public class RestService{
@Autowired
RestClient restClient
def shutdown(){
if(restClient.isSystemGood()){
restClient.shutdownSystem()
}
}
}
@Repository
public class RestClient {
boolean isSystemGood() {
...
}
void shutdownSystem() {
...
}
}
我应该怎么适应做类似的事情?
因为我只在grails默认文件结构中看到service
和domain
文件夹。
答案 0 :(得分:0)
RestService(在您的简单情况下为非事务性)是逻辑的正确位置。将服务注入控制器动作中以使用它。 不建议将服务注入到域类中。它难以测试,降低了读取性能,并导致了意大利面条的设计。这就是为什么Grails现在默认情况下具有disabled the services injection in the domain类
的原因