Как установить код ответа при использовании представлений json с Grails 3 - PullRequest
0 голосов
/ 02 июля 2018

Я сейчас нахожусь в процессе перехода на использование json view в одном из моих приложений, созданных с использованием Grails 3.3

Все выглядит довольно просто, и вот один из моих контроллеров:

def create(ProjectCommand command) {
        if (command.validate()) {
            // do something with user
            Project project = projectService.create(command, springSecurityService.principal.id as Long)

            if (project) {
                [status: HttpStatus.CREATED, project: project]
            } else {
                badRequest("failed to create the project")
            }
        }
        else {
            badRequest(command.errors)
        }
    }

Здесь я предположил, что статус будет использоваться в качестве кода состояния ответа, но это не так. Есть ли простой способ установить код состояния ответа без явного прохождения render?

1 Ответ

0 голосов
/ 02 июля 2018

Хммм ... это было легко. Судя по всему, внутри самого файла представления есть путь практически ко всему. Для этого конкретного случая достаточно сделать:

response.status HttpStatus.CREATED

Надеюсь это кому-нибудь пригодится

...