我的目标是使在具有渲染使用Grails空HTTP响应3
- 一个给定的状态码一个Grails 3.1的控制器方法的HTTP响应(主要是
204
,但可能包括其他操作,如200
) - 没有
Content-Type
,或Content-Encoding
头(因为没有内容的,对不对?)
render(status: 204)
添加了任意的Content-Type: application/json
标题。
此外,这种方法(参见grails.artefact.controller.support.ResponseRenderer.render()
)在这种情况下调用HttpServletResponse.sendError()
,虽然它不是一个错误。这是为什么?
目前,我们通过处理与response
直接解决这个问题:
response.status = statusCode.value()
response.flushBuffer()
但这阻止我们使用Grails的拦截after
用于发送响应之前做一些方法。这就是为什么我们正在寻找一种不改变HTTP响应的方式(例如添加一个Content-Type
标题)。
不能传递'的contentType:“无论/你-want''为'使()'和'的status'? –
如果没有body(例如通过'text'属性),'render'方法会忽略'contentType'属性。 –