47.2.5. 삽입할 기본값 지정
47.2.5.1. 개요
보다 강력한 서비스 구현을 제공하기 위해 선택적 매개 변수를 기본값으로 설정할 수 있습니다. 특히 긴 URI 문자열을 입력하는 경우 오류가 발생하기 때문에 쿼리 매개 변수 및 매트릭스 매개 변수에서 가져온 값에 특히 유용할 수 있습니다. 또한 쿠키에서 추출된 매개 변수의 기본값을 설정하는 것이 좋습니다. 요청 시스템에 모든 값으로 쿠키를 구성하는 적절한 정보가 없기 때문입니다.
javax.ws.rs.DefaultValue
주석은 다음 삽입 주석과 함께 사용할 수 있습니다.
-
@PathParam
-
@QueryParam
-
@MatrixParam
-
@FormParam
-
@HeaderParam
-
@CookieParam
@DefaultValue
주석은 삽입 주석에 해당하는 데이터가 요청에 없는 경우 사용할 기본값을 지정합니다.
47.2.5.2. 구문
매개변수의 기본값을 설정하는 구문 @DefaultValue
주석 사용에 대한 구문을 보여줍니다.
매개변수의 기본값을 설정하는 구문
import javax.ws.rs.DefaultValue; ... void resourceMethod(@MatrixParam("matrix") @DefaultValue("value) int someValue, ... ) ...
주석은 매개변수, 빈 또는 필드 앞에 있어야 합니다. 첨부된 삽입 주석과 관련된 @DefaultValue
주석의 위치는 중요하지 않습니다.
@DefaultValue
주석은 단일 매개변수를 사용합니다. 이 매개변수는 삽입 주석을 기반으로 적절한 데이터를 추출할 수 없는 경우 필드에 삽입되는 값입니다. 값은 모든 문자열
값일 수 있습니다. 값은 연결된 필드의 유형과 호환되어야 합니다. 예를 들어 연결된 필드가 int
이면 기본값으로 파
란색으로 인해 예외가 발생합니다.
47.2.5.3. 목록 및 세트 처리
주석이 달린 매개 변수 유형, 빈 또는 필드가 List, Set 또는 SortedSet인 경우 결과 컬렉션에는 제공된 기본값에서 매핑된 단일 항목이 있습니다.
47.2.5.4. 예제
기본값 설정 에서는 @DefaultValue
를 사용하여 값이 삽입되는 필드의 기본값을 지정하는 두 가지 예를 보여줍니다.
기본값 설정
import javax.ws.rs.DefaultValue; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; import javax.ws.rs.GET; import javax.ws.rs.Path; @Path("/monster") public class MonsterService { @Get public Monster getMonster(@QueryParam("id") @DefaultValue("42") int id, @QueryParam("type") @DefaultValue("bogeyman") String type) { ... } ... }
기본값 설정 의 getMonster()
메서드는 GET
요청이 baseURI/monster 로 전송될 때 호출됩니다. 이 메서드에는 두 개의 쿼리 매개 변수 id
와 type
가 필요하며 URI에 추가됩니다. URI URI/monster?id=1&type=fomóiri를 사용하는 GET
요청은 Fomóiri 와 함께 Fomóiri를 반환합니다.
@DefaultValue
주석은 두 매개 변수에 모두 배치되므로 쿼리 매개변수를 생략하면 getMonster()
메서드가 작동할 수 있습니다. baseURI/monster로 전송된 GET
요청은 URI baseURI /monster?id=42&type=bogeyman 을 사용하여 GET
요청과 동일합니다.