Grails 3.3.3 ではgenerate-all
、ドメイン クラスに対して実行すると、サービス インターフェイスが生成されます (Grails 2.x の実際のサービス クラスに対して)。サービスにメソッドを追加しようとするまで、実際には気づきませんでした。
インターフェイスは、サービスが存在するサービス フォルダーに配置されます。私は実際にインターフェイスが好きですが、それでもサービスとデフォルトの実装が必要です。インターフェイスに既にサービスの名前がある場合、インターフェイスと実装の両方を 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)
}