Grails 3.3.3 generate-all <domain class =“”>仅创建服务接口

时间:2018-03-16 17:49:15

标签: grails interface generate

在Grails 3.3.3中,当我为域类运行generate-all时,会生成一个服务接口(与Grails 2.x中的实际服务类相比)。在我尝试为我的服务添加方法之前,我实际上没有注意到它。

接口放置在服务所在的services文件夹中。我实际上喜欢这个界面,但我仍然想要服务和默认实现。如果接口已具有服务名称,如何在services文件夹中同时具有接口和实现? (例如,接口名为ClientService.groovy,因此实现名称相同)

以下是生成

的界面示例
package project

import grails.gorm.services.Service

@Service(Client)
interface ClientService {

    Client get(Serializable id)

    List<Client> list(Map args)

    Long count()

    void delete(Serializable id)

    Client save(Client client)

}

1 个答案:

答案 0 :(得分:4)

  

我如何同时拥有一个界面和实现   如果接口已具有服务名称,则为services文件夹吗?

如果您的界面标有HttpClient,那么您根本就没有实施源文件。 GORM Data Services在编译时为您生成实现。如果你想自己编写一些代码,那么代替接口编写一个抽象类,并用@Service注释它。没有理由让你有一个标有@Service的接口,然后编写一个实现该接口的类。