我想将 CacheControl 信息添加到使用 json 绑定的 GET 服务中。我发现要将 cacheControl 添加到响应中,REST 服务听起来像这样:
@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 消息的 REST 服务,并且 jersey 库自动将 java 对象从 java 转换为 xml/json。
@GET
@Path("jsontestcache")
@Produces(Array(MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML))
def myjsontestservice(@HeaderParam("X-TOKENID") tokenId: String,
@QueryParam("clientId") clientId: String):com.test.MyResultClass = {
val response= new com.test.MyResultClass
[...]
response
}
如何将缓存控制添加到 myjsontestservice 服务的响应中?球衣创建响应后,我是否需要使用过滤器并附加缓存控件?感谢万弗拉维奥