在Grails中呈现具有自定义mime类型的视图

在Grails中呈现具有自定义mime类型的视图,grails,mime-types,content-type,Grails,Mime Types,Content Type,我正在尝试使用自定义contentType在Grails中呈现用于响应的文本。我想要的内容类型是:application/vnd.api+json 我正在测试以下内容 render(contentType: "application/vnd.api+json") { message = 'some text' foo = 'bar' } 这不会导致引发异常,即消息是丢失的属性 虽然以下方法很好: render(contentType: "text/json") { me

我正在尝试使用自定义contentType在Grails中呈现用于响应的文本。我想要的内容类型是:application/vnd.api+json

我正在测试以下内容

render(contentType: "application/vnd.api+json") {
    message = 'some text'
    foo = 'bar'
}
这不会导致引发异常,即消息是丢失的属性

虽然以下方法很好:

render(contentType: "text/json") {
    message = 'some text'
    foo = 'bar'
}
My Config.groovy在json mime.type下具有以下内容:

grails.mime.types = [
...
    json:          [
        'application/json',
        'text/json',
        'application/vnd.api+json'
    ],
...
]

我的问题是,如何在Grails中使用自定义mime类型进行渲染?

在请求集中是否有
accept
头作为自定义内容类型

accept头是客户端通知服务器哪种内容类型对其自身是可接受的一种方式

config.groovy
中,还必须设置以下设置才能使用accept头

grails.mime.use.accept.header=true

我还将尝试以传统方式呈现响应:

render(contentType: "application/vnd.api+json", text: [message: 'some text', foo: 'bar'])

您是否将请求中的
accept
标题设置为自定义内容类型

accept头是客户端通知服务器哪种内容类型对其自身是可接受的一种方式

config.groovy
中,还必须设置以下设置才能使用accept头

grails.mime.use.accept.header=true

我还将尝试以传统方式呈现响应:

render(contentType: "application/vnd.api+json", text: [message: 'some text', foo: 'bar'])

accept.header为false,启用它没有帮助!我仍然得到一个异常“message is a missing property”,这个呈现很好:使用text/json和application/vnd.api+json以error@Armand你能试着用这种方式呈现吗?
render(contentType:“application/vnd.api+json”,text:[消息:'some text',foo:'bar'])
!非常感谢。我相信我在更改accept.header为true之前尝试过这个!accept.header为false,启用它没有帮助!我仍然得到一个异常“message is a missing property”,这个呈现很好:使用text/json和application/vnd.api+json以error@Armand你能试着用这种方式呈现吗?
render(contentType:“application/vnd.api+json”,text:[消息:'some text',foo:'bar'])
!非常感谢。我相信我在更改accept.header为true之前尝试过这个!