Я пытаюсь обслуживать разные ответы в Grails, когда возникает ошибка 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» с теми же результатами.
Что мне здесь не хватает?