问题标签 [grails-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
181 浏览

grails - Grails 3 bootstrap - 服务不创建数据库条目

我设置了一个非常简单的服务来在 Postgres 表中创建一个条目,我在 Bootstrap.groovy 中将它用于我的 Grails 3 Web 应用程序。

好吧,在启动时我看不到My Company条目,​​无论服务是否是事务性的。相反,如果在控制器中使用同一行,它会按预期工作。我在这里错过了什么吗?

0 投票
0 回答
46 浏览

grails - 使用从一个控制器动作到另一个控制器动作的数据而不进行数据库调用

我正在使用 grails 2.4.4

我有以下详细信息。

我知道控制器是无状态的。

即使认为 projectList 保持不变,我也必须调用 DB?

有没有办法从现有的 projectList 中搜索而不从 DB 中重新加载它。

我正在寻找类似 grails 中的功能的 JSF View 范围。

谢谢。

0 投票
1 回答
234 浏览

unit-testing - 如何在 grails 服务单元测试中模拟 util 类

我想模拟 utilFunc 方法我该怎么做?圣杯版本:3.0.10

0 投票
2 回答
3196 浏览

groovy - Spock - 模拟外部服务

我是 spock 框架测试的新手,我没有找到任何可以找到所需信息的示例。因此,我认为最好的方法是展示一个我需要的例子。

  1. 例如 spock 中的测试类:

    /li>
  2. 服务等级:

    /li>
  3. 将数据分类为域类:

    /li>

现在我有getData测试并且想模拟唯一的方法callAndGet()。这意味着每次我打电话时,callAndGet我都需要有带有 msg SUCCESS的对象数据,但方法中的所有其他方法getData都应该正常调用。

是不是很好理解?问题是我们如何将服务类注入/模拟ExternalService到 spock 测试类中?

0 投票
3 回答
5749 浏览

grails - Grails 3 - 获取服务中的资产路径

我需要获取位于assets/schemas/resource.jsonGrails 3 服务中的静态资源的路径。

目前它被定义为

这对development环境很好,但当然不适用于生产(因为它位于<app_root>/assets/resource.json.

我试图搜索如何在我的案例中利用资产管道,但到目前为止我真的不知道:P

提前致谢!

0 投票
1 回答
1664 浏览

grails - Grails 3 从服务调用 taglib

我正在尝试使用服务中的 grails 内部标记库,但收到此错误:

这是我正在使用的代码:

0 投票
0 回答
121 浏览

grails - 如何防止更新 Grails3 服务方法中的记录以获取

我的应用程序中很少有域类,例如客户和租户。客户域实例具有tenantId 引用,但与租户域类没有关联。

我们试图在 OrderController 中获取一种客户类型。由于它在多种方法中使用,我创建了一个服务方法“getClerkCustomer”来获取客户。用户登录后,tenantId 值存储在会话中。因此 OrderController 中的tenantId 值是从会话中获取并传递给“getClerkCustomer”

执行“getClerkCustomer”时,它会根据类型和租户 ID 检索客户。除了获取客户记录外,它甚至还会更新该tenantId 的租户记录(版本值增加)。我不确定为什么在我们获取客户记录时租户记录版本会增加。Grails 是否有任何按名称更新记录的习惯?

谁能让我知道为什么要为客户获取更新租户,我该如何避免这种情况?

注意:我们在其他域实例中也遇到了这个问题。更新一次实例会增加不同实例上的版本。以上就是这样一种情况。

0 投票
3 回答
1349 浏览

grails - Grails findAllBy()不起作用

我有一个表,其中包含以下列:id、externalId、firstname、lastname、email

我的域名:

我的服务:

日志中的错误消息说:

我的目标是加载一个 Employee 实例,其中 externalId 与我给它的匹配。我究竟做错了什么?

谢谢!

0 投票
1 回答
311 浏览

angularjs - How do I inject services into a Grails 3 command?

In a Grails 3 app, how do I create a CLI command that leverages the app's Service and Domain classes?

The following did not work:

  1. grails create-app test-grails3-angular-cmd --profile=angular
  2. cd server
  3. grails create-command MyExample
  4. Implement MyExample:

    /li>
  5. grails create-service TestService

  6. Implement TestService:

    1. grails run-command my-example

Command execution error: Cannot invoke method test() on null object

How can I fix this?

I am using grails 3.3.0.M2.

0 投票
1 回答
261 浏览

grails - Grails 3 : ServletContext is coming null in grails service

I am unable to get servletcontext while calling 1 service method from another.

And if i move that called code to calling service class then its working fine.

CreditFilesService CreditFilesService

LakshyaUtilsService LakshyaUtilsService Code

java.lang.NullPointerException: Cannot get property 'configuration' on null object at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:174) at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296) at com.lakshya.LakshyaUtilsService.uploadFilesToAWS(LakshyaUtilsService.groovy:3074) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1427) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at com.lakshya.credit.CreditFilesService.generateZipFile(CreditFilesService.groovy:110) at com.lakshya.credit.CreditFilesService$generateZipFile.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:141)