JAX-RS
JAX-RS , şu anda JSR-370 tarafından tanımlanan Java'da REST web hizmetlerinin uygulanmasına yönelik bir belirtimdir . Şu anda JSR 366 tarafından tanımlanan Java EE teknolojilerinin bir parçasıdır .
Jersey (GlassFish ve Payara ile birlikte gönderilir) JAX-RS referans uygulamasıdır, ancak RESTEasy (JBoss EAP ve WildFly ile birlikte gelir) ve Apache CXF (TomEE ve WebSphere ile birlikte gelir ) gibi başka uygulamalar da vardır .
Bahar Çerçevesi
Bahar Çerçeve bir olduğunu tam çerçeve Java kurumsal uygulamalar oluşturmanıza olanak sağlar. REST yetenekleri, Spring MVC modülü tarafından sağlanır ( model-görünüm-kontrolör yetenekleri sağlayan aynı modül ). Bir JAX-RS uygulaması değildir ve JAX-RS standardına bir Bahar alternatifi olarak görülebilir.
Spring ekosistemi ayrıca kurumsal uygulamalar oluşturmak için kalıcılık, güvenlik, sosyal ağlarla entegrasyon, toplu işlem vb. Gibi çok çeşitli projeler sunar .
Örnekler
JAX-RS API kullanan aşağıdaki kaynak denetleyicisini düşünün:
@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();
}
}
Spring MVC API kullanan eşdeğer uygulama şöyle olacaktır:
@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);
}
}
Spring Boot ve Jersey'i kullanma
Spring Boot, spring-boot-starter-jersey
Spring MVC yerine REST uç noktaları için JAX-RS programlama modelini kullanmanıza izin veren modülü sağlar. Jersey 2.x ile oldukça iyi çalışıyor.
Jersey 2.x ve Spring Boot 1.4.x ile bir web uygulaması oluşturmanın eksiksiz bir örneği için bu yanıta bakın .