2015-10-28 3 views
0

Как перенаправить услугу GET REST на сервис POST REST. Я использую Resteasy и я попыталсяКак перенаправить службу REST из Get to Post?

  1. Response.seeOther

  2. Response.temporaryRedirect

Из того, что я вижу, как эти методы могут сделать только запросы GET.

Есть ли способ совершать вызовы POST с использованием вышеуказанных API? Переадресация важна для меня, потому что я хочу, чтобы браузер знал о новом URL-адресе.

ответ

3

Короткий ответ: Не делайте этого.

GET и POST имеют четко определенную семантику. A GET предназначен для чтения ресурсов, тогда как POST обычно используется для создания или обновления ресурса. См. Также this question.

Это не имеет смысла для перенаправления из GET к POST, потому что пользователь должен быть уверен, что он не изменяет состояние ресурса, если он использует GET.

Для другого пути существует общий шаблон, называемый POST-Redirect-GET (PRG), где пользователь перенаправляется на новый ресурс после того, как он создал один за POST. Одной из причин этого шаблона является избежание двойного POST, если пользователь перезагружает страницу.

+1

Я согласен с вами. Я глубоко в сорняках, что я об этом не думал. Я должен думать иначе, чтобы решить мою проблему. – Yasser