Grails - зависимый от типа содержимого afterInterceptor - PullRequest
0 голосов
/ 05 ноября 2011

Могу ли я установить контроллер afterInterceptor на основе типа содержимого?

Пример: вызывать только afterInterceptor, если тип входящего запроса - application / json;в противном случае не вызывайте afterInterceptor

Я не нахожу способ, и подход к закрытию withFormat будет трудоемким для установки для каждого действия.

Я хочу преобразовать модель в jsonтолько если тип входящего запроса - json.

Или есть другие способы достижения моей цели?

Заранее спасибо, Тодд

1 Ответ

0 голосов
/ 06 ноября 2011

Вы можете добавить пункт защиты к вашему afterInterceptor , который завершается, если тип содержимого запроса не JSON.

def afterInterceptor = { model ->
    if (request.getHeader('Content-Type')?.startsWith('application/json')) {
        return
    }
    //do your json stuff here
}

Или, если выдействительно заинтересован во входящем заголовке Accept , тогда вы будете использовать

if (request.format != 'JSON') return
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...