假设我有一些代码可以对另一个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
文件夹。 最佳答案
在grails-app / services目录中的RestService(在您的简单情况下,是非事务性的)是逻辑的正确位置。将服务注入(inject) Controller Action 中以使用它。
不建议将服务注入(inject)到域类中。它难以测试,降低了读取性能,并导致了意大利面条的设计。这就是为什么Grails现在默认情况下具有disabled the services injection in the domain类的原因
关于grails - 我应该将客户代码放在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51451174/