Как отобразить коды ошибок Http в URLMapping.groovy плагина Grails

В нашем приложении мы сопоставляем набор кодов ошибок HTTP с контроллером ошибок, который выдает сообщение json с соответствующим кодом ошибки http в качестве статуса ответа. Соответствующая часть URLMappings.groovy довольно проста:

        "501"(controller: "error", action: "index")
    "500"(controller: "error", action: "index")
    "422"(controller: "error", action: "index")
    "415"(controller: "error", action: "index")
    "406"(controller: "error", action: "index")
    "405"(controller: "error", action: "index")
    "404"(controller: "error", action: "index")
    "403"(controller: "error", action: "index")
    "401"(controller: "error", action: "index")
    "400"(controller: "error", action: "index")

Теперь я пытаюсь извлечь класс ErrorController.groovy и приведенные выше отображения URL из приложения и сделать его подключаемым модулем, чтобы мы могли обрабатывать те же ошибки в других приложениях.

В моем плагине под названием "error-controller" я создал класс ErrorControllerUrlMappings.groovy и перенес сюда приведенные выше сопоставления. В этом UrlMappings.groovy кажется, что я могу точно определить любое отображение, которое я хочу, например, "/foo", "/bar" и т. Д., Но я не могу получить сопоставления кода ошибки HTTP для регистрации.

Когда я запускаю один из этих кодов ошибок из приложения, в котором установлен плагин, я получаю сообщение tomcat по умолчанию для этого кода ошибки. ErrorController в плагине никогда не срабатывает.

Интересно, что 500 плагинов обрабатывают 500 ошибок.

Можно ли создать сопоставления URL для этих кодов ошибок http в ErrorControllerUrlMappings.groovy моего плагина?

  • Спасибо

0 ответов

Другие вопросы по тегам