JAX-RS
JAX-RS là một đặc tả để triển khai các dịch vụ web REST trong Java, hiện được xác định bởi JSR-370 . Nó là một phần của các công nghệ Java EE , hiện được xác định bởi JSR 366 .
Jersey (được vận chuyển bằng GlassFish và Payara) là triển khai tham chiếu JAX-RS, tuy nhiên, có những triển khai khác như RESTPal (được vận chuyển với JBoss EAP và WildFly) và Apache CXF (được vận chuyển bằng TomEE và WebSphere).
Khung mùa xuân
Các Spring Framework là một khuôn khổ đầy đủ cho phép bạn tạo ra các ứng dụng doanh nghiệp Java. Các khả năng REST được cung cấp bởi mô-đun Spring MVC (cùng mô-đun cung cấp các khả năng của trình điều khiển chế độ xem mô hình ). Đây không phải là triển khai JAX-RS và có thể được xem là sự thay thế Mùa xuân cho tiêu chuẩn JAX-RS.
Hệ sinh thái Spring cũng cung cấp một loạt các dự án để tạo các ứng dụng doanh nghiệp, bao gồm sự bền bỉ, bảo mật, tích hợp với các mạng xã hội, xử lý hàng loạt, v.v.
Ví dụ
Hãy xem xét bộ điều khiển tài nguyên sau bằng 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();
}
}
Việc triển khai tương đương bằng API Spring MVC sẽ là:
@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);
}
}
Sử dụng Spring Boot và Jersey
Spring Boot cung cấp spring-boot-starter-jersey
mô-đun cho phép bạn sử dụng mô hình lập trình JAX-RS cho các điểm cuối REST thay vì Spring MVC. Nó hoạt động khá tốt với Jersey 2.x.
Để biết ví dụ đầy đủ về việc tạo một ứng dụng web với Jersey 2.x và Spring Boot 1.4.x, hãy tham khảo câu trả lời này .