我正在尝试使用自定义contentType为Grails中的reponse呈现文本。我想要的contentType是: application / vnd.api + json
我正在测试以下
render(contentType: "application/vnd.api+json") {
message = 'some text'
foo = 'bar'
}
不会导致抛出异常消息是缺少属性。
虽然以下工作正常:
render(contentType: "text/json") {
message = 'some text'
foo = 'bar'
}
我的Config.groovy在json mime.type下有以下内容:
grails.mime.types = [
...
json: [
'application/json',
'text/json',
'application/vnd.api+json'
],
...
]
我的问题,如何使用Grails中的自定义mime类型进行渲染?
答案 0 :(得分:3)
请求中的accept
标头是否设置了自定义内容类型?
接受标头是客户端通知服务器哪种内容类型可以接受的一种方式。
在config.groovy
中,必须同时设置以下设置以使用接受标头
grails.mime.use.accept.header = true
我也会尝试以传统方式呈现响应:
render(contentType: "application/vnd.api+json", text: [message: 'some text', foo: 'bar'])