我試圖在錯誤500根據請求的格式發生時在Grails中服務於不同的響應。Grails:如何根據格式(JSON,HTML)爲錯誤500提供不同的響應?
我創建了一個ErrorController,我使用它在URLMappings但我沒有得到正確的請求格式:
def handle() {
withFormat {
html {
response.status = 500
render(view:'/errors/serverError')
}
json {
response.setContentType "application/json; charset=utf-8"
response.status = 500
ApiResponse apiResponse = new ApiResponse(
meta: new ApiMeta(
code: 500,
errorType: "Whatever",
msgs: ["${request.exception}"]
)
)
render apiResponse as JSON
}
}
}
的反應總是在HTML中。還用'request.withFormat'嘗試了相同的結果。
我在這裏錯過了什麼?
+1我一直在試圖找出這一個爲好;(另外我希望能夠主題500頁 – chrislovecnm