У меня есть ресурс POJO, который определяет некоторые конечные точки HTTP и возвращает Dropwizard Views. Некоторые из этих конечных точек просто выполняют действие (например, обновляют db), а затем перенаправляют пользователя на другую конечную точку. Например, пользователь находится в месте GET /foo
и отправляет форму. Это направляет их в конечную точку POST /foo/submit
, их обработка обрабатывается, а затем пересылает их до GET /foo/done
. Это предотвращает повторную отправку формы, если они обновляют страницу, например. Эта пересылка в настоящее время выполняется с помощью метода Response.seeOther() Джерси (возврат ответа вместо представления).Как перенаправить пользователя и передать сообщение на целевую страницу с помощью Jersey и Dropwizard?
Что бы я хотел, чтобы сделать, когда метод обработки обрабатывает их представление, генерирует какое-то сообщение (сообщение об ошибке, предупреждение, успешное и т. Д.) И передает это сообщение на страницу, которую мы пересылаем. Например, в GET /foo/done
, я хотел бы, чтобы он сказал в верхней части страницы, «Подача завершена!» или «Представление не выполнено, потому что ...».
Я сделал несколько поисков, и многие люди предлагают бросить исключение WebApplicationException, за исключением того, что не все мои случаи являются ошибками. Иногда я хотел бы просто подтвердить подтверждение успешного действия. Но я не могу понять, как получить метод приема для получения сообщения. Я сделал это раньше в Python, имея способ обработки, который принимает необязательный словарь, но, к сожалению, я нахожусь на Java 7, поэтому у меня нет возможности предоставлять методы опциональным параметрам со значениями по умолчанию.
Благодарим за помощь.
Спасибо за помощь! Не идеальное решение, но оно работает. Было бы лучше, если бы я мог передать объект, который скрыт от пользователя (например, не в строке url). Разве это вообще невозможно? – tytk
Не знаю, о чем я знаю. Чтобы он был чище, вы всегда можете отправить что-то вроде числа, которое не имеет никакого значения для внешнего мира, но получает сопоставление с чем-то на принимающей стороне –