我可以根据内容类型设置控制器afterInterceptor吗?
示例:如果传入请求类型为application / json,则仅调用afterInterceptor;否则不要调用afterInterceptor
我找不到方法,并且“withFormat”闭包方法在每个动作上都很麻烦。
我想仅在传入请求类型为json时才将模型转换为json。
或者,还有其他方法可以实现我的目标吗?
提前致谢, 托德
答案 0 :(得分:0)
如果请求内容类型不是JSON,您可以在 afterInterceptor 中添加一个保护子句。
def afterInterceptor = { model ->
if (request.getHeader('Content-Type')?.startsWith('application/json')) {
return
}
//do your json stuff here
}
或者,如果您对传入的 接受 标题感兴趣,那么您可以使用
if (request.format != 'JSON') return