Entschuldigung, diese Frage klingt albern, aber nachdem ich einige meiner RESTful-Services mit Jersey entwickelt hatte, stellte ich mir die Frage: Wenn REST nur eine Architektur und kein Protokoll wie SOAP ist, warum benötigen wir eine Spezifikation wie JAX-RS?
Ich habe tatsächlich nach Fragen wie "Was ist der Unterschied zwischen Servlets und RESTful-Diensten über HTTP" gegoogelt und um die Community-Antworten zusammenzufassen, habe ich Folgendes erhalten:
- RESTful Service Development (auf Jersey) ist eine Architektur, die von Natur aus Servlets verwendet.
- JAX-RS-kompatible Tools wie Jersey ermöglichen ein einfaches Marshalling-Unmarshalling von XML / JSON-Daten und helfen den Entwicklern.
- REST hilft uns, GET / POST / PUT / DELETE auf eine Weise zu verwenden, die weitaus effizienter ist als normale Servlets.
Nach diesen Antworten denke ich, wenn ich ein Servlet schreibe, das JAXB verwendet (für den Umgang mit automatischer Serialisierung), und GET / POST / PUT / DELETE effizient in meinem Servlet-Code verwende, verwende ich kein Tool wie Jersey und daher JAX-RS.
Ich weiß, dass ich furchtbar falsch liege, wenn ich diese Aussage übergebe. Bitte korrigieren Sie mich.
PS: Dieser Zweifel kam tatsächlich auf, als ich einige RESTful-Dienste in PHP entwickeln musste. Nachdem ich einige der RESTful-PHP-Codes durchgearbeitet hatte, stellte ich fest, dass es sich um dieselben alten PHP-Skripte handelt, mit einigen Hilfsmethoden für den Umgang mit XML / JSON.
Antworten:
Kurze Antwort
Weil es die Entwicklung von RESTful-Services erleichtert.
Lange Antwort
JAX-RS ist ein Standard, mit dem auf einfache Weise ein RESTful-Service erstellt werden kann, der auf jedem Java-Anwendungsserver bereitgestellt werden kann: GlassFish, WebLogic, WebSphere, JBoss usw.
JAX-RS ist Teil von Java EE. Wenn JAX-RS mit anderen Java EE-Technologien verwendet wird, ist es noch einfacher, Ihren RESTful-Service zu erstellen:
Beispiel für einen JAX-RS-Dienst
Für mehr Informationen:
quelle
Nein ist es nicht. REST ist ein Architekturstil, der mithilfe von Servlets implementiert werden kann, diese jedoch weder inhärent verwendet noch inhärent mit Java zu tun hat.
JAX-RS ist eine JSR-Spezifikation, die eine Java-API für RESTful Web Services definiert.
Jersey ist eine spezielle Implementierung von JAX-RS.
Es liegt ganz bei Ihnen, ob Sie Jersey verwenden oder versuchen, die JAX-RS-Spezifikation einzuhalten. Wenn es Ihnen die Arbeit erleichtert, großartig! Wenn nicht, zwingt dich niemand.
quelle