在Grails中使用HTTP状态代码呈现JSON的简便方法

时间:2012-05-23 19:09:36

标签: grails groovy

如果没有明确"text/json"指定,是否有简写方法?

def remoteError = {     
  render( status: 500, contentType: "text/json"){
      error( exception: "a remote exception occurred")
  }
}

我尝试使用as JSON ...没有返回任何内容,但状态代码正确...

render( status: 500, exception: params.exception) as JSON 

2 个答案:

答案 0 :(得分:41)

如果您使用转换器参数render,则无法像使用gsp视图时通常那样指定任何其他参数,例如状态。但是,您可以在调用render之前设置响应状态:

response.status = 500
render([error: 'an error occurred'] as JSON)

答案 1 :(得分:2)

render(status:500,text:(errors as JSON).toString(),contentType: 'application/json')