问题标签 [grails-rest-api]

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 投票
2 回答
341 浏览

java - Grails:仅在生产 tomcat 服务器中运行时出现 RestBuilder 异常

我创建了war文件并部署到tomcat服务器中,但是在提交注册页面(有recaptcha)时发生了这个错误,但不是在本地机器和使用GGTS IDE在本地机器上运行的应用程序中。

以下是生产服务器中发生的错误

在我看来,这个异常是在实施 recaptcha 之后发生的。请帮我解决这个问题。

0 投票
1 回答
72 浏览

spring - 在 grails 集成测试中创建的安全用户是未经授权的,但自举用户是未经授权的

我正在使用Grails Spring Security CoreGrails Spring Security REST 插件,我才刚刚开始设置。User我用一个类和一个类(默认值)初始化插件,然后按照我在 Grails 网站上找到Authority的指南编写集成测试。

它说将以下内容放入集成测试中:

我继续做了类似的事情,它与 bootstrapped 一起工作User,但是当我尝试使用在测试方法本身中创建的进行完全相同的测试时User,它会因401HTTP 响应代码而失败。

我试图运行的代码:

请注意,User.count == 2断言通过是因为测试方法中有一个UserinBootstrap.groovy和一个 create。

为什么这可以工作并通过引导程序User完全没有任何问题,但不是在方法中创建的问题?有没有办法可以编写此集成测试,以便我可以以这种方式测试插件中/api/login包含的端点?grails-spring-security-rest

0 投票
1 回答
258 浏览

grails - 如何防止子属性被更新?

当我在 Grails 中使用 RestfulController 保存对象的数据时,如何防止客户端将更改应用到相关的子对象?

给定以下域类:

以及 TranslationText 的以下 POST 数据:

在这里,我想引用一个现有的语言资源(ID=1),但我不希望客户端更改名称。

如何使用文本和语言(基于 ID)保存此资源,但丢弃无效的语言名称属性?

我想以尽可能最小的方式修改 RestfulController,尽可能地保留默认行为。

0 投票
1 回答
47 浏览

grails - Grails Controller集成测试执行父类RestfulController类的动作

我在集成测试 restful 控制器时遇到了一个奇怪的问题......在下面的代码片段中,当我从测试中发出 post 请求时,RestfulController调用父类的 save 方法而不是子类的 save 方法,MyController因为他们有不同的签名,这最终会导致UNPROCESSIBLE_ENTITY响应。

当我运行以下测试时,save()我的控制器父类的操作RestfulController被执行,从而导致UNPROCESSIBLE_ENTITY响应,因为我使用的 Command 对象与我的域类不同。

请问我能做些什么来解决这个问题?

0 投票
0 回答
51 浏览

grails - 在 Grails 上响应错误时如何过滤 deniedValue 属性?

我正在使用命令对象在 Grails restfull 控制器上执行数据绑定,如上例所示:

当传递一个无效的作者时,会呈现一个包含“rejectedValue”属性的 Json,该属性嵌套了所有作者的信息。

我们不能将这些暴露给最终用户。

是否可以过滤这些字段或整个 deniedValue 属性?

Obs:由于迁移问题,我仍在使用 Grails 2.5.6。我不知道 Grails 3+ 在这种情况下是否表现不同。

到目前为止,在 respod 上使用“excludes”参数还没有奏效。

我尝试了以下选项:

================================== 编辑================ ===================

我在上面写了一个示例,显示了发送的请求正文和我当前收到的响应,一个是理想的,一个是解决问题的。

示例请求正文:

当前响应正文:

理想反应体:

好的响应正文:

0 投票
0 回答
28 浏览

grails - Grails 嵌套的 URL 映射产生为 null

我正在尝试使用RestFul URLs 部分中记录的嵌套 URL

似乎嵌套资源没有收到对 url 所派生的对象的引用。网址映射:

...

...

错误是 422 指向
Grails default.null.message { "message": "Die Eigenschaft [book] des Typs [class core.Review] darf nicht null sein", ... } }

这是bug吗!?如果没有,如何在 Grails 中正确使用嵌套 URL 来获取 Rest 资源(已测试:Grails 4.0.3)

更新: 请求被发送到:

发布 $domain/books/1/reviews

在 JSOn 中添加一个"book":1将创建评论就好了。但这不是使用嵌套 URL 的重点,不是吗?