2012-07-31 2 views
0

나는 다음과 같은 값 객체 가지고 :JAX-RS 서비스의 응답을 필터링하는 방법은 무엇입니까?

@XmlRootElement 
public class Movie{ 
    public String name; 
    public Date releaseDate; 
    public List<Actors> actors; 
} 

와 나는 영화가 어떤 ORM 프레임 워크가 데이터베이스에서 검색되는 다음 서비스

@GET 
@Produces(MediaType.APPLICATION_JSON) 
public List<Movie> moviesByYear(int year){ 
//return all movies by year 
} 

을 얻었다. 내 질문은 : 나는이 필드가 관련이 없기 때문에 응답을 필터링하고, 응답자 목록을 반환하지 않으려 고 응답을 크게 만듭니다. 물론 할 수 있습니다.

for(Movie movie: movies){ 
    movie.actors = null; 
} 

그러나 여러 필드를 제거하려는 경우 신속하게 이관됩니다.

답변

1

응답에 actors 입력란을 포함시키지 않으려면 입력란에 @XmlTransient으로 주석을 추가 할 수 있습니다. 자세한 내용은 JavaDoc을 참조하십시오.

그렇지 않은 경우 Movie 개체를 actors 필드가 노출되지 않는 래퍼 개체로 래핑 할 수 있습니다.

0

서비스에 해당하는 방법이없는 경우 서비스 코드 자체를 변경해야합니다.

관련 문제