48.3.2. 일반적인 사용 사례에 대한 응답 생성
48.3.2.1. 개요
Response
클래스는 RESTful 서비스에 필요한 더 일반적인 응답을 처리하기 위한 바로 가기 메서드를 제공합니다. 이러한 메서드는 제공된 값 또는 기본값을 사용하여 적절한 헤더 설정을 처리합니다. 또한 적절한 경우 엔티티 본문을 채우기를 처리합니다.
48.3.2.2. 성공적인 요청에 대한 응답 생성
요청이 성공적으로 처리되면 요청이 충족되었음을 인정하기 위해 응답을 보내야 합니다. 이 응답은 엔터티를 포함할 수 있습니다.
응답을 성공적으로 완료할 때 가장 일반적인 응답은 OK
입니다. OK
응답에는 일반적으로 요청에 해당하는 엔터티가 포함됩니다. Response
클래스에는 응답 상태를 200
으로 설정하고 첨부된 응답 빌더에 제공된 엔터티를 추가하는 오버로드된 ok()
메서드가 있습니다. ok()
메서드의 다섯 가지 버전이 있습니다. 가장 일반적으로 사용되는 변형은 다음과 같습니다.
-
response
.ok()
-200
상태 및 빈 엔티티 본문으로 응답을 만듭니다. -
response
.ok(java.lang.Object 엔티티) - 응답
이200
인 응답을 만들고, 제공된 오브젝트를 응답 엔티티 본문에 저장하고, 오브젝트를 검사하여 엔터티 유형을 결정합니다.
200
응답을 사용하여 응답 생성 에서는 OK
상태로 응답을 생성하는 예를 보여줍니다.
200
응답을 사용하여 응답 생성
import javax.ws.rs.core.Response; import demo.jaxrs.server.Customer; ... Customer customer = new Customer("Jane", 12); return Response.ok(customer).build();
요청자가 엔티티를 요구하지 않는 경우, 200 OK
상태 대신 204 No Content
status를 보내는 것이 더 적절할 수 있습니다. Response.noContent()
메서드는 적절한 응답 오브젝트를 생성합니다.
204
상태로 응답 생성 는 204
상태로 응답을 생성하는 예를 보여줍니다.
204
상태로 응답 생성
import javax.ws.rs.core.Response; return Response.noContent().build();
48.3.2.3. 리디렉션에 대한 응답 생성
Response
클래스는 리디렉션 응답 상태 3개를 처리하는 메서드를 제공합니다.
303 다른 보기
303 기타 보기
상태는 요청된 리소스가 요청을 처리하도록 소비자를 새 리소스로 영구적으로 리디렉션해야 하는 경우에 유용합니다.Response
클래스는 Other() 메서드를 참조
하며303
상태의 응답을 생성하고 새 리소스 URI를 메시지의위치
필드에 배치합니다.see Other()
메서드는 새 URI를java.net.URI
오브젝트로 지정하는 단일 매개 변수를 사용합니다.304 수정되지 않음
304 Not Modified
상태는 요청 특성에 따라 다양한 용도로 사용될 수 있습니다. 이전GET
요청 이후 요청된 리소스가 변경되지 않았음을 나타내는 데 사용할 수 있습니다. 또한 리소스를 수정하라는 요청을 통해 리소스가 변경되지 않았음을 나타낼 수도 있습니다.Response
클래스notModified()
메서드는304
상태로 응답을 생성하고 HTTP 메시지에 수정된 날짜 속성을 설정합니다.notModified()
메서드의 세 가지 버전이 있습니다.-
notModified
-
notModified
javax.ws.rs.core.Entity
tag
-
notModified
java.lang.String
tag
-
307 임시 리디렉션
307 임시 리디렉션 상태는 요청된 리소스가 소비자를 새 리소스로 전달해야 하지만 소비자가 향후 요청을 처리하기 위해 이 리소스를 계속 사용하고자
하는 경우 유용합니다.응답
클래스temporaryRedirect()
메서드는307
상태로 응답을 생성하고 새 리소스 URI를 메시지의위치
필드에 배치합니다.temporaryRedirect()
메서드는 새 URI를java.net.URI
오브젝트로 지정하는 단일 매개 변수를 사용합니다.
304
상태로 응답 생성 는 304
상태로 응답을 생성하는 예를 보여줍니다.
304
상태로 응답 생성
import javax.ws.rs.core.Response; return Response.notModified().build();
48.3.2.4. 신호 오류에 대한 응답 생성
Response
클래스는 두 가지 기본 처리 오류에 대한 응답을 생성하는 메서드를 제공합니다.
-
serverError
-500 Internal Server Error
상태로 응답을 만듭니다. -
notAcceptable
java.util.List<javax.ws.rs.core.Variant
>변형
- 허용되는 리소스 유형 목록이 포함된406 Not Acceptable
상태 및 엔터티 본문으로 응답을 만듭니다.
500
상태의 응답 생성 는 500
상태의 응답을 생성하는 예를 보여줍니다.
500
상태의 응답 생성
import javax.ws.rs.core.Response; return Response.serverError().build();