2012-03-26 4 views
2

RESTEasy 클라이언트 프레임 워크를 사용할 때 @defaultValue 주석을 사용할 수 있습니까?RESTEasy 클라이언트 프레임 워크에서 @DefaultValue 사용

public interface XClient { 

@GET 
@Path("/rest/search") 
@Produces(MediaType.APPLICATION_XML)  
public String getInformation(
     @QueryParam("partner") @DefaultValue("xxxxxx") String apiKey); 
} 

을하지만 어떻게 내가 apiKey에 매개 변수를 전달하지 않고 getInformation 메서드를 호출 할 수 있습니다 :

컴파일러는 이것에 대해 불평하지 않습니다. 그 대신에 "xxxxxx"값이 사용됩니다.

@DefaultValue 주석의 목적을 잘못 이해 했나요?

편집 :

이것은 @DefaultValue 주석을 사용하여 수행 할 수 없습니다. 어쩌면 또 다른 해결책이있을 것입니다. RESTEasy 프레임 워크의 클라이언트 측에 대한 많은 문서는 없습니다.

답변

3

@DefaultValue 주석을 사용하여 수행 할 수 없습니다 (Usin 클라이언트 프레임 워크).

0

@DefaultValue은 다른 @*Param 주석과 결합하여 HTTP 요청 항목이없는 경우 기본값을 정의 할 수있는 매개 변수 주석입니다.

here

은 그래서 가능을 참조하십시오. QueryParam URL에 설정되지 않은 경우

+0

Aure77 답변에 대한 의견을 참조하십시오. –

0

의 DefaultValue이 사용됩니다

http://docs.jboss.org/resteasy/docs/2.3.1.GA/javadocs/javax/ws/rs/DefaultValue.html

에 http : // localhost를/휴식/검색 -> 기본값은 apiKey에

HTTP 사용 : -> "1"이 apiKey로 사용됩니다.

+0

프레임 워크의 클라이언트 측을 사용하고 있습니다. (일부 타사 Rest WS 호출). 그렇기 때문에 XClient는 클래스가 아닌 인터페이스입니다. 그래서 문제가 남아 있습니다. 클라이언트 프레임 워크에서 사용할 수 있습니까? –

+0

죄송합니다. 클라이언트 쪽인지는 모르겠습니다! * null * param을 메서드에 보내려고합니까? (기본값을 얻으려고합니까?) – Aure77

+0

내가 처음 시도한 것이 었습니다. 호출 중에 null을 전달해도 @defaultvalue 값을 얻지 못합니다. 그것은 단지 invoke 메소드에 null을 전달합니다. 나는이 주석이 서버 측에서만 작동한다고 생각한다. –

관련 문제