Grails3-获取子域对象
我已经看过了,但我还是迷路了 我已经添加到conf/application.ymlGrails3-获取子域对象,grails,Grails,我已经看过了,但我还是迷路了 我已经添加到conf/application.yml converters: encoding: UTF-8 grails.converters.json.default.deep: true 但当我在域上做一个get时,我仍然得到 [~]$curl {“id”:2,“流”:{“id”:2},“发布标签”:“ABC_4.3”,“创建日期”:“2017-08-21T13:06:27Z”,“环境”:[{“id”:1}],“状态”:“初始化”} 我希望对
converters:
encoding: UTF-8
grails.converters.json.default.deep: true
但当我在域上做一个get时,我仍然得到
[~]$curl
{“id”:2,“流”:{“id”:2},“发布标签”:“ABC_4.3”,“创建日期”:“2017-08-21T13:06:27Z”,“环境”:[{“id”:1}],“状态”:“初始化”}
我希望对stream和envs进行扩展,以提供所有记录,而不仅仅是id
所以,groovy是
而Stream.groovy是
package test
import grails.rest.*
class Stream {
String name
String feedgroup
String description
UnixGroup unixgroup
String swid
boolean powercentre = false
String latest_release
static hasMany = [envs: Env]
static constraints = {
name blank:false, unique: true
}
}
package test
import grails.rest.*
class Request {
Date date_created = new Date()
Date date_completed
String status = "init"
String release_label
Stream stream
static hasMany = [envs: Env]
static constraints = {
date_completed nullable: true
}
static searchable = {
only = [ 'stream', 'status' ]
}
}
我使用的是Grails3.30
grails.converters.json.default.deep对grails 3仍然有效吗?我如何使用它
grails.converters.json.default.deep
应改为:
json.default.deep
正如您已经在grails.converters块中一样
所以它应该看起来像:
converters:
encoding: UTF-8
json.default.deep: true
在grailslack页面上,我被告知当应用程序配置文件是restapi时,不使用转换器 相反,应该使用JSON视图。在渲染中,添加选项deep:true 乙二醇 书在哪里
有关更多信息,请参见尝试了上述操作,但输出中仍然没有完整的子项信息。还尝试将其作为json:default:deep:trueI设置了两个示例域,与您提供和测试的域类似。我在输出中看到子信息:
curlhttp://localhost:8080/sample
{“请求”:{“id”:1,“流”:{“id”:1,“feedgroup”:“s2”,“name”:“s1”,“envs”:[{“id”:1,“title1”,“name”:“env1”}]},“发布标签”:“label1”,“创建日期”:“2017-08-23T01:39:36Z”,“envs”:[{“id”:2,“title”:“title2”,“name”:“env2”},{“id”:1,“title1”,“name”:“env1”}],“date_completed”:null,“status”:“init”}
可能先尝试gradle:clean,否则可能会发布更多你的.yml/code.Hi LeslieV-感谢你在这方面所做的工作。我已经清理并再次运行了应用程序,结果仍然是一样的。application.yml的任何其他部分对此有影响吗?我想不出我在做什么不同于你自己。我没有在t中使用@Resource他创建了域,但生成了控制器。因此我注意到您的curl使用的是应用程序名,而我使用的是记录类型名。您好@john,我想可能是应用程序中的其他内容影响了这一点。yml可能会影响这一点。如果您想完整发布它,我可以看一看。我正在使用curl命令中的sample
点击SampleController I设置。您的控制器中是否有什么东西可以帮助您获得正确的结果?My application.yml是在创建应用程序期间创建的默认值,但json.default.deep除外
json g.render(book, [deep:true])