问题标签 [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.
java - Grails:仅在生产 tomcat 服务器中运行时出现 RestBuilder 异常
我创建了war文件并部署到tomcat服务器中,但是在提交注册页面(有recaptcha)时发生了这个错误,但不是在本地机器和使用GGTS IDE在本地机器上运行的应用程序中。
以下是生产服务器中发生的错误
在我看来,这个异常是在实施 recaptcha 之后发生的。请帮我解决这个问题。
spring - 在 grails 集成测试中创建的安全用户是未经授权的,但自举用户是未经授权的
我正在使用Grails Spring Security Core和Grails Spring Security REST 插件,我才刚刚开始设置。User
我用一个类和一个类(默认值)初始化插件,然后按照我在 Grails 网站上找到Authority
的指南编写集成测试。
它说将以下内容放入集成测试中:
我继续做了类似的事情,它与 bootstrapped 一起工作User
,但是当我尝试使用在测试方法本身中创建的进行完全相同的测试时User
,它会因401
HTTP 响应代码而失败。
我试图运行的代码:
请注意,User.count == 2
断言通过是因为测试方法中有一个User
inBootstrap.groovy
和一个 create。
为什么这可以工作并通过引导程序User
完全没有任何问题,但不是在方法中创建的问题?有没有办法可以编写此集成测试,以便我可以以这种方式测试插件中/api/login
包含的端点?grails-spring-security-rest
grails - 如何防止子属性被更新?
当我在 Grails 中使用 RestfulController 保存对象的数据时,如何防止客户端将更改应用到相关的子对象?
给定以下域类:
以及 TranslationText 的以下 POST 数据:
在这里,我想引用一个现有的语言资源(ID=1),但我不希望客户端更改名称。
如何使用文本和语言(基于 ID)保存此资源,但丢弃无效的语言名称属性?
我想以尽可能最小的方式修改 RestfulController,尽可能地保留默认行为。
grails - Grails Controller集成测试执行父类RestfulController类的动作
我在集成测试 restful 控制器时遇到了一个奇怪的问题......在下面的代码片段中,当我从测试中发出 post 请求时,RestfulController
调用父类的 save 方法而不是子类的 save 方法,MyController
因为他们有不同的签名,这最终会导致UNPROCESSIBLE_ENTITY
响应。
当我运行以下测试时,save()
我的控制器父类的操作RestfulController
被执行,从而导致UNPROCESSIBLE_ENTITY
响应,因为我使用的 Command 对象与我的域类不同。
请问我能做些什么来解决这个问题?
grails - 在 Grails 上响应错误时如何过滤 deniedValue 属性?
我正在使用命令对象在 Grails restfull 控制器上执行数据绑定,如上例所示:
当传递一个无效的作者时,会呈现一个包含“rejectedValue”属性的 Json,该属性嵌套了所有作者的信息。
我们不能将这些暴露给最终用户。
是否可以过滤这些字段或整个 deniedValue 属性?
Obs:由于迁移问题,我仍在使用 Grails 2.5.6。我不知道 Grails 3+ 在这种情况下是否表现不同。
到目前为止,在 respod 上使用“excludes”参数还没有奏效。
我尝试了以下选项:
================================== 编辑================ ===================
我在上面写了一个示例,显示了发送的请求正文和我当前收到的响应,一个是理想的,一个是解决问题的。
示例请求正文:
当前响应正文:
理想反应体:
好的响应正文:
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 的重点,不是吗?