Grails3-获取子域对象

Grails3-获取子域对象,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}],“状态”:“初始化”} 我希望对

我已经看过了,但我还是迷路了

我已经添加到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}],“状态”:“初始化”}

我希望对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])