问题标签 [grails-4]
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.
grails - Grails 4 服务没有被注入到 Grails 数据服务中
这是关于注入数据服务的 Grails 服务。问题是注入的服务在运行时为空。这是一个例子。
FlowService
并且MessagingService
都位于grails-app/services
.
FlowService
调用时sendEmail
有一个 NPE,因为messagingService
为空。
MessagingService
是手写的,与域无关。
本项目使用 Grails 4.0.10,问题出现多次。当通常的 Gails 魔法(即注射)不起作用时,我用 kludges 解决了前一两个问题,你知道,只是为了避免卡住。
现在在我看来,这个问题是可以预见的,每次我编写与域无关的服务时都会发生这种情况。我错过了文档中的某些内容吗?处理此问题的适当方法是什么?
Kludge:为了解决这个问题,我sayHi
在有问题的服务中包含了一个方法。它只记录一条调试消息。sayHi
我从BootStrap调用以检查它是否有效。确实如此,令人惊讶。然后我在BootStrap中添加代码以将服务分配给服务中所谓的注入属性。[不寒而栗]
grails - Grails 4 - 为数据库声明全局序列
我目前正在使用本机 SQL 查询在 Grails 4 Web 应用程序中创建序列并获取序列值。这通常不会造成太大问题,但是当我使用 grails 数据库迁移插件更新我的数据库(使用 liquibase)时,它一直想要删除数据库中的序列。
解决方法是手动删除影响序列的 liquibase 语句,但我对这里可能出现的人为错误感到不舒服。解决此问题的最明显方法是声明这些序列存在,以便 Grails/Liquibase 不想删除它们。我该怎么做呢?
grails - Grails 异步响应渲染 - 返回 WebPromise 不会触发 Interceptor 的“after”方法
在我的 Groovy on Grails 应用程序中,我有一个拦截器,它会为所有同步响应的控制器触发。
我有一个通过返回 WebPromise 异步呈现响应的端点。我注意到 Interceptor 的 after 方法不会只为异步响应端点调用。
请告知我如何让拦截器的 after 方法用于异步响应渲染。
grails - 为管理员禁用 Grails 4 多租户
我在 Grails 4 中使用基于鉴别器的多租户,从使用 hibernate-filter 插件的 Grails 2 升级。在 Grails 2 中,我可以在 Grails 过滤器中为管理员角色禁用休眠过滤器 - 因此在我的整个应用程序中不需要“if (admin)”检查。我可以以某种方式禁用 Grails 4 中的多租户并使其保持干燥吗?
根据 Jeffs 的评论,我重新表述我的问题以供将来参考:
任何时候可以对来自具有管理员角色的客户端的请求进行身份验证,是否可以完全禁用整个请求的多租户?
gradle - Grails 4 的 Spring Webflow
我正在从 Grails 1.1 迁移到 Grails 4.0.11。我们已经在其中使用了 Spring Webflow,但它在 Grails 4 中从未工作过。有没有在 Grails4 中实现 Spring Webflow 的解决方案?
grails - 如何拦截来自 grails 4 应用程序的 POST 请求并提取 POST 正文值?
我正在使用 SAML 插件进行身份验证。该应用程序是grails 4 应用程序。
https://plugins.grails.org/plugin/jeffwils/spring-security-saml
但我认为这个问题与 SAML 插件并不严格相关。
这是插件的工作原理。设置好插件并添加配置后,我们首先进入 index ,这是 spring 安全角色保护方法。这将反过来重定向到身份验证,如下所示。因为最终安装了 SAML,所以将 POST 请求发送到https://cas.byu.edu/cas/idp/profile/SAML2/POST/SSO,如下图所示。帖子正文看起来像
SAML 请求:+PHNhbWwyOklzc3VlciB4bWxuczpzYW1sMj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiI+dGVzdDwvc2FtbDI6SXNzdWVyPjwvc2FtbDJwOkF1dGhuUMVxdWzVyPjwvc2FtbDJwOkF1dGhuUMVxdWzV
SAMLRequest 值是 base 64 编码的。所以解码后它看起来像
从这个请求中,我想提取 ID="a1hb9ggi9f2hf5ie2h9j2ff8650geh5" 值。我如何拦截此发布请求并从请求 xml 值中提取 ID?我认为这个帖子请求是由插件发出的,因此不能直接访问。我很欣赏任何见解。
spring-boot - 默认 grails 4 应用程序在 application.yml 中有两次唯一名称
为什么包含 Grails 4.0.12 的默认 Grails 4 应用程序在默认生成的 application.xml 中有两个条目引用唯一名称属性。我们在 application.xml 的顶部附近得到了这个部分:
第二个似乎已被弃用:
是否应该删除第二个?
grails - grails 4没有枚举常量?
我正在将我的 grails 2 应用程序升级到 grails 4。我已经能够纠正所有编译时错误,现在应用程序运行。它在点击控制器操作时会引发此错误。
在控制器的这一行中
RaceGroup 有 resultsstatus 属性
ResultsStatus 是一个枚举,定义为
它在 grails 2 中运行良好。我怀疑 grails 4 中发生了一些变化,也许定义枚举的方式是错误的。我感谢任何指南。
更新:
RaceGroup 域定义为
CompositeEvent 定义为
地址域定义为
grails - 没有方法签名:java.util.Date.minus() 适用于参数类型:(整数)?
我正在将 grails 2.2 升级到 grails 4.0.10。
在使用 java 7 的 grails 2.2 中,这曾经可以工作
现在对于 grails 4 和 java 8 我得到了这个异常
似乎我无法通过仅减去 java 8 中迄今为止的天数来获得新日期。这样做的等效代码是什么?谢谢您的帮助。
timeservice.now 是