48.2. 일반 Java 구문 반환

48.2.1. 개요

대부분의 경우 리소스 클래스는 표준 Java 유형, JAXB 개체 또는 애플리케이션에 엔터티 공급자가 있는 모든 개체를 반환할 수 있습니다. 이러한 경우 런타임은 반환되는 개체의 Java 클래스를 사용하여 MIME 유형 정보를 결정합니다. 런타임은 또한 소비자에게 보낼 적절한 HTTP 반환 코드를 결정합니다.

48.2.2. 반환 가능한 유형

리소스 메서드는 엔터티 작성기가 제공되는 모든 Java 유형 또는 void 를 반환할 수 있습니다. 기본적으로 런타임에는 다음에 대한 공급자가 있습니다.

  • Java 기본 사항
  • Java 프리미티브의 Number 표현
  • JAXB 오브젝트

“기본적으로 지원되는 유형” 기본적으로 지원되는 모든 반환 유형을 나열합니다. “사용자 정의 작성자” 사용자 지정 엔터티 작성기를 구현하는 방법을 설명합니다.Describes how to implement a custom entity writer.

48.2.3. MIME 유형

런타임은 먼저 @Produces 주석의 리소스 메서드 및 리소스 클래스를 확인하여 반환된 엔터티의 MIME 유형을 결정합니다. 이 중 하나를 찾으면 주석에 지정된 MIME 유형을 사용합니다. 리소스 구현에서 지정한 항목을 찾지 못하면 엔터티 프로바이더에 따라 적절한 MIME 유형을 결정합니다.

기본적으로 런타임은 다음과 같이 MIME 유형을 할당합니다.

  • Java 프리미티브 및 해당 Number 표현에는 MIME 유형의 application/octet-stream 이 할당됩니다.
  • JAXB 오브젝트에는 application/xml 의 MIME 유형이 할당됩니다.

애플리케이션은 “사용자 정의 작성자” 에 설명된 대로 사용자 지정 엔터티 공급자를 구현하여 다른 매핑을 사용할 수 있습니다.

48.2.4. 응답 코드

리소스 메서드가 일반 Java 구문을 반환하는 경우 런타임은 예외를 throw하지 않고 리소스 메서드가 완료되면 응답의 상태 코드를 자동으로 설정합니다. 상태 코드는 다음과 같이 설정됩니다.

  • 204(콘텐츠 없음) - 리소스의 메서드 반환 유형이 void입니다.
  • 204(콘텐츠 없음) - 반환된 엔티티의 값이 null입니다.
  • 200(OK) - 반환된 엔터티의 값이 null이 아닙니다.

리소스 메서드가 완료되기 전에 예외가 throw되는 경우 50장. 예외 처리 에 설명된 대로 반환 상태 코드가 설정됩니다.