Jakarta

The Eclipse Foundation is set to become the new steward of enterprise Java, taking over from Oracle, which no longer wants to manage Java EE. - Oracle Chooses Eclipse Foundation as New Home for Java EE

이때, 이클립스 재단으로 이관되면서(Java EE 에 대한 상표권은 오라클이 보유) 공식 명칭이 Jakarta EE 로 변경되었다. 이러한 이유 때문에 패키지명도 javax.* 에서 Jakarata.* 로 변경되었다.

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies. Spring Boot 3.0 이상으로 Upgrade 하려면 javax.* 패키지명을 Jakarta.* 으로 변경해야 한다.

The core goal of Jakarta EE is 'Enterprise Java Technology for Cloud Native Environment', which aims to reflect the latest technology trends such as microservices and containers.

RFC7807

A common requirement for REST services is to include details in the body of error responses. The Spring Framework supports the "Problem Details for HTTP APIs" specification, RFC 7807.

RFC 7807 is the standard specification for these API error response.

Problem details:

  • When serialized as a JSON document, that format is identified with the "application/problem+json" media type.
  • For example, an HTTP response carrying JSON problem details:
    HTTP/1.1 403 Forbidden
     Content-Type: application/problem+json
     Content-Language: en
    
     {
      "type": "https://example.com/probs/out-of-credit",
      "title": "You do not have enough credit.",
      "detail": "Your current balance is 30, but that costs 50.",
      "instance": "/account/12345/msgs/abc",
      "balance": 30,
      "accounts": ["/account/12345",
                   "/account/67890"]
     }
    

Spring Boot 3+ 를 사용 중이라면 ProblemDetail 을 활용하여 HTTP API - Error Response 표준을 적용해볼 수 있을 것 같다.

For more information, see the RFC 7807 documentation.