Общее сопоставление URL-адресов в Grails для всех ошибок 4xx или 5xx.

Я использую Grails 2.4.4 и хотел бы определить общий UrlMapping для диапазона кодов ошибок HTTP (например, 450-499, 510-540).

Я нашел несколько связанных вопросов - даже на ТАК - но ответы либо устарели, либо не работают.

Контейнер не запускается, когда я использую регулярные выражения для отображения ошибок.

Например, этот простой пример потерпит неудачу:

"$errorCode" {
     controller = "error"
     action = "general"
     constraints {
          errorCode(matches:/\d{3}/)
     }
}

Кто-нибудь знает, как я могу подойти к этому?


person Christopher Will    schedule 18.03.2015    source источник


Ответы (1)


Я пытался сделать то же самое с помощью фильтров, но мы не можем перенаправить снова после проверки кода состояния в httpResponse, поэтому это также не помогает.

В соответствии с документом Grails "Сопоставление кодов ответов"

http://grails.github.io/grails-doc/3.1.x/guide/single.html#urlmappings

мы можем только жестко закодировать их и перенаправить на упомянутый контроллер и действие. Поэтому вам нужно указать все http-коды и обрабатывать их все отдельно.

Спасибо.

person Anshul    schedule 19.10.2015