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 응답을 사용하여 응답 생성
요청자가 엔티티를 요구하지 않는 경우, 200 OK 상태 대신 204 No Content status를 보내는 것이 더 적절할 수 있습니다. Response.noContent() 메서드는 적절한 응답 오브젝트를 생성합니다.
204 상태로 응답 생성 는 204 상태로 응답을 생성하는 예를 보여줍니다.
204 상태로 응답 생성
import javax.ws.rs.core.Response; return Response.noContent().build();
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 -
notModifiedjavax.ws.rs.core.Entitytag -
notModifiedjava.lang.Stringtag
-
307 임시 리디렉션307 임시 리디렉션 상태는 요청된 리소스가 소비자를 새 리소스로 전달해야 하지만 소비자가 향후 요청을 처리하기 위해 이 리소스를 계속 사용하고자하는 경우 유용합니다.응답클래스temporaryRedirect()메서드는307상태로 응답을 생성하고 새 리소스 URI를 메시지의위치필드에 배치합니다.temporaryRedirect()메서드는 새 URI를java.net.URI오브젝트로 지정하는 단일 매개 변수를 사용합니다.
304 상태로 응답 생성 는 304 상태로 응답을 생성하는 예를 보여줍니다.
304 상태로 응답 생성
import javax.ws.rs.core.Response; return Response.notModified().build();
import javax.ws.rs.core.Response;
return Response.notModified().build();
48.3.2.4. 신호 오류에 대한 응답 생성 링크 복사링크가 클립보드에 복사되었습니다!
Response 클래스는 두 가지 기본 처리 오류에 대한 응답을 생성하는 메서드를 제공합니다.
-
serverError-500 Internal Server Error상태로 응답을 만듭니다. -
notAcceptablejava.util.List<javax.ws.rs.core.Variant>변형- 허용되는 리소스 유형 목록이 포함된406 Not Acceptable상태 및 엔터티 본문으로 응답을 만듭니다.
500 상태의 응답 생성 는 500 상태의 응답을 생성하는 예를 보여줍니다.
500 상태의 응답 생성
import javax.ws.rs.core.Response; return Response.serverError().build();
import javax.ws.rs.core.Response;
return Response.serverError().build();