我看过这个Grails get child domain objects,但我还是迷路了。
我已添加到conf / application.yml
converters:
encoding: UTF-8
grails.converters.json.default.deep: true
但是当我进入域名时,我仍然会得到
[〜] $ curl http://localhost:8080/request/2 {" ID":2"流" {" ID":2}," release_label":" ABC_4.3& #34;" DATE_CREATED":" 2017-08-21T13:06:27Z"" ENVS":[{" ID&#34 ;: 1}]"状态":"初始化"}
我希望扩展流和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' ]
}
}
我正在使用Grails 3.30。
grails.converters.json.default.deep对Grails 3仍有效吗?我该如何使用它。
答案 0 :(得分:1)
我在Grails slack页面上被告知,当应用程序配置文件为rest-api时,不使用转换器。
应该使用JSON视图。在渲染中,添加一个选项deep:true
例如
json g.render(book, [deep:true])
书籍是域名
有关详细信息,请参阅http://views.grails.org/latest/#_rendering_domain_classes
答案 1 :(得分:0)
grails.converters.json.default.deep
应改为:
json.default.deep
因为你已经在grails.converters块中了。
所以看起来应该是这样的:
converters:
encoding: UTF-8
json.default.deep: true