Что такое реализация JAX-RS? - PullRequest
       50

Что такое реализация JAX-RS?

19 голосов
/ 15 февраля 2011

Я довольно долго пытался понять, как использовать JAX-RS.Я начал с самых базовых концепций, а затем постепенно понял, что такое программирование на основе аннотаций, значение @Path, @Get, @Post и т. Д.

Насколько я понимаю, о том, что упоминалось во многихJAX-RS - это фреймворк, который фокусируется на применении аннотаций Java к простым Java-объектам (Стр. 27, Билл Берк, RESTful Java).

Затем я запутался за пределами этого момента.Если JAX-RS сам по себе является платформой, которая определяет API, работающие с аннотациями для реализации веб-службы RESTful, что означает «реализация JAX-RS», такая как «Джерси» и «JBoos Resteasy».Еще один слой поверх JAX-RS?Зачем они нам нужны?

Может ли кто-нибудь рассказать мне об этом?Большое спасибо !!!

Ответы [ 2 ]

27 голосов
/ 15 февраля 2011

JAX-RS является стандартом, определенным в Запросе спецификации Java 311 ( JSR-311 ), и Jersey / RESTEasy являются его реализациями.

Существующие реализации означают, что спецификация говорит "есливы помещаете @GET("/foo") в метод (bar()), вы можете получить доступ к данным X "- теперь на сервере приложений кто-то должен зайти и действительно прочитать ваш развернутый код, проанализировать байт-код с аннотацией @GET изатем, если пользователь действительно просматривает, например, http://localhost/foo, получите этот веб-запрос для достижения bar() и переведите возвращаемое значение bar() в ответ http (например, в представлении XML или JSON).

Таким образом, спецификация с именем «JAX-RS» предоставляет только синтаксис и семантику, например, @GET, но работа по синтаксическому анализу запросов, вызову правильных методов, сортировке значений результата и т. Д. Должна выполняться пакетом, который реализуетСпецификация.

Работа над версией стандарта 2.0 началась как JRS-339 .

См. также http://en.wikipedia.org/wiki/Jax-rs

23 голосов
/ 15 февраля 2011

JAX-RS - это спецификация для RESTful Web Services с Java. Существует эталонная реализация, включенная в Java EE, но, поскольку она является спецификацией, могут быть написаны другие платформы для реализации спецификации, в том числе Jersey, Resteasy и другие.

...