JAX-RS
JAX-RS adalah spesifikasi untuk mengimplementasikan layanan web REST di Jawa, yang saat ini ditentukan oleh JSR-370 . Ini adalah bagian dari teknologi Java EE , saat ini didefinisikan oleh JSR 366 .
Jersey (dikirim dengan GlassFish dan Payara) adalah implementasi referensi JAX-RS, namun ada implementasi lain seperti RESTEasy (dikirimkan dengan JBoss EAP dan WildFly) dan Apache CXF (dikirimkan dengan TomEE dan WebSphere).
Kerangka Pegas
The Spring Framework adalah kerangka kerja penuh yang memungkinkan Anda untuk membuat aplikasi perusahaan Java. Kemampuan REST disediakan oleh modul Spring MVC (modul yang sama yang menyediakan kemampuan model-view-controller ). Ini bukan implementasi JAX-RS dan dapat dilihat sebagai alternatif Spring untuk standar JAX-RS.
Ekosistem Spring juga menyediakan berbagai proyek untuk membuat aplikasi perusahaan, yang meliputi ketekunan, keamanan, integrasi dengan jejaring sosial, pemrosesan batch, dll.
Contohnya
Pertimbangkan pengontrol sumber daya berikut menggunakan API JAX-RS:
@Path("/greetings")
public class JaxRsController {
@GET
@Path("/{name}")
@Produces(MediaType.TEXT_PLAIN)
public Response greeting(@PathParam("name") String name) {
String greeting = "Hello " + name;
return Response.ok(greeting).build();
}
}
Implementasi yang setara menggunakan API Spring MVC adalah:
@RestController
@RequestMapping("/greetings")
public class SpringRestController {
@RequestMapping(method = RequestMethod.GET,
value = "/{name}",
produces = MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<?> greeting(@PathVariable String name) {
String greeting = "Hello " + name;
return new ResponseEntity<>(greeting, HttpStatus.OK);
}
}
Menggunakan Spring Boot dan Jersey
Spring Boot menyediakan spring-boot-starter-jersey
modul yang memungkinkan Anda menggunakan model pemrograman JAX-RS untuk titik akhir REST alih-alih Spring MVC. Ini bekerja cukup baik dengan Jersey 2.x.
Untuk contoh lengkap membuat aplikasi web dengan Jersey 2.x dan Spring Boot 1.4.x, lihat jawaban ini .