2011-01-26 7 views
0

json 바인딩을 사용하는 GET 서비스에 CacheControl Intormation을 추가하려고합니다. 나는이 같은 반응에 REST 서비스 사운드를 cacheControl를 추가하는 것을 발견저지 및 json 구현을 사용하는 HTTP CacheControl

@GET 
@Path("cacheheadertest") 
@Produces({"*/*"}) 
def testcache():javax.ws.rs.core.Response { 
    val rb:Response.ResponseBuilder = javax.ws.rs.core.Response.ok("chached test message") 
    val cc = new CacheControl() 
    cc.setMaxAge(60) 
    cc.setNoCache(false) 
    rb.cacheControl(cc).build() 

} 

하지만 JSON 메시지를 생성 지내는 서비스와 저지 라이브러리 XML/JSON으로 자바에서 automaticcally 자바 객체를 변환이 .

myjsontestservice 서비스의 응답에 캐시 제어를 추가하려면 어떻게해야합니까? 저지에 의해 응답이 생성되면 필터를 사용하고 캐시 제어를 추가해야합니까? 감사합니다. Flavio

답변

2

여전히 Response 객체를 반환해야합니다.

def somejson() : Response = { 
    val builder = Response.ok(new com.test.MyResultClass); 
    val cc = new CacheControl() 
    cc.setMaxAge(60) 
    cc.setNoCache(false) 
    builder.cacheControl(cc).build() 
} 

저지의 인터셉터는 클래스를 JSON 객체로 자동 변환합니다.