Enterprise Średniozaawansowany

Zastąp ciężkie endpointy SOAP/WSDL czystymi zasobami Jakarta REST zwracającymi JSON.

✕ Java EE
@WebService
public class UserWebService {
    @WebMethod
    public UserResponse getUser(
            @WebParam(name = "id") String id) {
        User user = findUser(id);
        UserResponse res = new UserResponse();
        res.setId(user.getId());
        res.setName(user.getName());
        return res;
    }
}
✓ Jakarta EE 8+
@Path("/users")
@Produces(MediaType.APPLICATION_JSON)
public class UserResource {
    @Inject
    UserService userService;

    @GET
    @Path("/{id}")
    public User getUser(@PathParam("id") String id) {
        return userService.findById(id);
    }
}
Widzisz problem z tym kodem? Daj nam znać.
🪶

Lżejsze ładunki

JSON jest bardziej kompaktowy niż koperty XML SOAP, redukując przepustowość i narzut parsowania.

📐

Proste adnotacje

@GET, @Path i @Produces zastępują ceremonię WSDL, @WebService i @WebMethod.

🔌

Gotowy na mikroserwisy

REST/JSON to standard komunikacji serwis-do-serwisu w architekturach cloud-native.

Stare podejście
JAX-WS / SOAP
Nowoczesne podejście
Jakarta REST / JSON
Od JDK
11
Poziom trudności
Średniozaawansowany
Usługi SOAP kontra Jakarta REST
Dostępne

Szeroko dostępne od Jakarta EE 8 / Java 11

Usługi webowe oparte na SOAP polegają na kontraktach WSDL, marshallingu XML i adnotacjach JAX-WS dodających znaczny narzut. Jakarta REST (dawniej JAX-RS) używa intuicyjnych adnotacji jak @GET, @Path i @Produces do udostępniania REST-owych API JSON. Model programowania jest prostszy, ładunki są mniejsze, a podejście jest zgodne ze sposobem komunikacji nowoczesnych mikroserwisów.