Перезаписать метод HTTP с помощью JAX-RS - PullRequest
1 голос
/ 14 мая 2010

Современные браузеры (или HTML <5) поддерживают только HTTP GET и POST, но для взаимодействия с RESTful нужны также PUT и DELETE. Если в качестве обходного пути не следует использовать Ajax, для перезаписи фактического метода HTTP требуется нечто вроде скрытого поля формы. </p>

Rails использует следующий трюк:

<input name="_method" type="hidden" value="put" />

Есть ли возможность сделать что-то подобное с JAX-RS?

Ответы [ 3 ]

2 голосов
/ 11 мая 2011

Не совсем решение JAX-RS, но Spring 3.0 поставляется с HiddenHttpMethodFilter, который реализует именно тот трюк, который делает рельсы, по умолчанию тот же параметр _method.

Обратите внимание, что вам не нужно использовать всю пружину, чтобы использовать этот фильтр, вы можете просто настроить его в web.xml и игнорировать остальную пружину.

1 голос
/ 11 мая 2011

Джерси также имеет нечто подобное, хотя и фильтрует поле заголовка. Документация может быть найдена здесь

0 голосов
/ 14 мая 2010

Цитировать Роя Филдинга:

В любом случае, существует множество RESTful услуги, которые делают только ПОЛУЧИТЬ и ПОСТ . Ключ, как те, методы используются, а не какие методы используемый. Чтобы привести конкретный пример, что делает вики более или менее RESTful почти всегда определяется тем, как это (ab) использует GET и сессии - будь он использует PUT или POST для редактирования страниц сахарная посыпка в сравнении.

Акцент мой, взято из этого поста http://tech.groups.yahoo.com/group/rest-discuss/message/10746

...