У меня проблема с отправкой заголовка для кэшированного ответа.Play Framework 2.4 - Java - заголовок Http и кешированный ответ
Вот мои маршруты,
GET /fassets/XXX.js com.AssetController.getFileXXX()
И мой контроллер,
@Cached(key = XXX, duration = TIMEOUT_SECONDS,)
public Result getFileXXX() {
[...]
final Result result = ok(file).as("application/javascript");
response().setHeader(CACHE_CONTROL, "max-age=100");
return result;
}
Проблема заключается в том, что для первого запроса, кэш-контроль: макс возраста = 100 правильно отослано. Для остальных результат кэшируется, а заголовок не задан.
I судимого
result.headers().put(CACHE_CONTROL, "max-age=10")
Но это приведет к ошибке во время выполнения:
Caused by: java.lang.UnsupportedOperationException: null
at java.util.AbstractMap.put(AbstractMap.java:209) ~[na:1.8.0_45]
Я также нашел что-то интересное, что могло бы решить эту проблему, но в Скале:
val result = Ok("Hello World!").withHeaders(CACHE_CONTROL -> "max-age=3600")
Спасибо заранее за вашу помощь.
Julien
Так что же такое проблема/проблема/поведение, которое вы хотите? – Castaglia
Я хочу, чтобы заголовок управления кешем был отправлен с кешированным ответом. Здесь ответ отправляется из @Cached без добавления заголовка. Я, наконец, решил свою проблему, используя cache.get/set вместо anotating. Поэтому я могу каждый раз настраивать заголовок. – Xr17