在Grails中呈现具有自定义mime类型的视图
我正在尝试使用自定义contentType在Grails中呈现用于响应的文本。我想要的内容类型是:application/vnd.api+json 我正在测试以下内容在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
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之前尝试过这个!