问题标签 [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 回答
244 浏览

spring - Grails Hibernate Session 或 Spring Transaction 破坏域验证错误

所以我的问题是,在我可以在页面上呈现它们之前,我的验证错误已从我的域对象中删除。我以为我过去已经修复了这个错误,但它又悄悄地出现在我身上。

这是我的原始实现。tripService.stepData(trip)调用时正在清除错误。

编辑 - 我不应该只在页面添加到 hasMany 关系时遇到这个问题。

控制器 -

服务 -

所以我在网上做了一些阅读,有人在 2 年前的论坛帖子上说休眠中有一些东西......可能的错误......我不知道,但他们的建议奏效了。建议是将控制器包装在withTransaction

这对我来说很好。现在的问题是我认为我有一个tripService再次调用的标记库。进行该调用时,它现在正在清除我的验证错误。这真是令人沮丧。有没有人知道我可以做些什么来解决这个问题?

编辑:添加从 taglib 调用的服务方法:

0 投票
2 回答
1519 浏览

grails - 如何知道 Grails 服务中的事务方法是否成功?

我有这样的事情:

}

我想知道事务方法是否成功,我不想检查每个域对象中的错误属性,因为逻辑涉及到许多域类,这会很困难。

0 投票
2 回答
1100 浏览

grails - 环境特定的 Grails 服务配置

使用环境特定值配置 Grails 服务的最佳方式是什么?我相信有两种选择:

  1. 从服务类中访问 grailsApplication 值或
  2. 在 Config.groovy 或 resources.groovy 的 beans 闭包中配置服务 bean。

我在 stackoverflow 和其他地方看到了几篇文章,这些文章展示了如何做 #1(在服务中访问 grailsApplication)。其中一篇文章是:将 grails 应用程序配置注入服务

但是,我认为这会造成服务与 Grails 的不必要耦合。这不是类似于在 pojo 中访问 Spring 的 applicationContext 而不是配置/注入值吗?此外,到目前为止,我还没有任何运气让它在服务类的单元测试中工作。

两本书都有注入属性的示例(方法#2)。The Definitive Guide to Grails 2,第 10 章,标题为“Services in Action”的一本书展示了如何做到这一点,但没有特定于环境的值。Groovy and Grails Recipes 一书,第 16-2 节也展示了一个使用 resources.groovy 的示例,但我还不能让它工作。

以下博客文章也有一个很好的示例,但不是特定于环境的:http: //ldaley.com/post/1253952347/getting-more-out-of-property-override-configuration。Grails 参考的第 15 章也与这些示例一致,并展示了如何在每个环境的基础上设置 bean 的属性。

然而,这两种方法的例子都没有给出任何意见或合理的做法。这两种方法真的没有优点和缺点吗?注入方式不是更容易单元测试,更符合spring的做事方式吗?

弥敦道

0 投票
3 回答
2360 浏览

grails - 服务是否可以返回 404 响应?

是否存在可以从服务(或其他非控制器方法)引发的异常或其他东西,这些异常或其他东西会中断当前的响应处理并向用户返回 404?

在 Django 世界中,有get_object_or_404一个引发了Http404具有这种效果的异常。我正在写服务;如果该服务确定用户无法访问所请求的对象(在这种情况下它尚未发布),我希望它触发 404 并停止剩余的执行。目标是让调用服务的控制器 DRY 并且不总是重复def obj = someService.getSomething(); if (obj) {} else { render status: 404}调用。

摘要:
在 Django 中,我可以在任何时候引发 aHttp404以停止请求处理并返回 404。在 Grails 中是否有等效或方法可以做到这一点,而不是来自控制器?

0 投票
1 回答
1731 浏览

datasource - 将数据源注入 Grails 服务的问题

在我的服务中尝试以下操作时遇到问题:

当我执行此代码时,我收到错误:“必须指定非空连接”。根据我的阅读,我相信上面的代码应该可以工作(这不是单元测试)......所以很明显我错过了关于 Grails 服务的一些东西?

感谢您在这里的任何帮助,

0 投票
2 回答
941 浏览

grails - Grails 范围为 Singleton,许多用户登录并执行操作

我知道默认情况下,Grails 中的服务范围是单例的。这意味着一个实例被创建并传递。在与许多用户打交道时,例如 Facebook 或 Twitter,范围应该是会话还是其他?我很欣赏一些解释。我正在使用 Grails 设计一个社交网络类型的网站,我想知道将范围设置为什么。我知道一种解决方法是评估使用单个实例是否会引起问题,但我对此知之甚少。

0 投票
1 回答
1266 浏览

grails - 公开为 REST 服务的 Grails 服务方法

我是 Grails 的新手。我已经看到如何使用 UrlMapping.groovy 文件和使用 GET/POST/PUT/DELETE http 方法将控制器操作/方法公开为 RESTFull 服务。

现在以下是我的问题。

1.是否有任何方法将服务类方法(Grails 应用程序中的 /service 文件夹)公开为 RESTFull 服务,并以与我访问上述控制器操作类似的方式访问它们。

2.有没有办法将服务类方法公开为 SOAP 服务?

0 投票
2 回答
2545 浏览

grails - 如何在 grails 服务类中使用 g.formatNumber

我想在服务中使用 g.formatNumber,我尝试了以下方法,我上网了。这不起作用,它给了我错误"Cannot invoke method formatNumber() on null object",代码如下

这个怎么做。

0 投票
1 回答
1544 浏览

grails - com.easytha.Student 条目中的 Grails-null id(发生异常后不要刷新 Session)

我已经看到了这个问题的几个线程,没有一个可以拯救我的 DomainClass 中有以下内容

elasticsaerch 是一项服务,我已将其添加到静态瞬态列表中。似乎在成功调用索引方法后抛出了这个异常

这是索引方法的代码

“对象索引成功”打印在控制台中。

bootstrap.groovy 具有以下内容


更新

我试过Student.withNewSession { elasticSearchService.index(this) }哪个有效。

0 投票
1 回答
1770 浏览

hibernate - org.hibernate.StaleObjectStateException:同时保存域类

我有以下代码

并在上述代码的最后一行引发以下异常

我已经看到几个线程讨论相同的问题,据他们说,我也尝试过使用,我studentInstance.withTransaction还将studentInstance.withTransaction服务的范围更改为请求,但到目前为止没有任何帮助。

这绝对是一个线程问题,因为这只发生在 20 到 30 个用户同时调用此代码时。